12 void operator()(
const std::initializer_list<array>& args) {
28 const std::function<std::vector<array>(
const Args&)>&,
33 const std::function<std::vector<array>(
const Kwargs&)>&,
38 const std::function<std::vector<array>(
const Args&,
const Kwargs&)>&,
42 const std::string& file,
43 std::function<std::vector<array>(
const Args&,
const Kwargs&)> fun,
46 std::function<std::vector<array>(
const Args&,
const Kwargs& kwargs)> fun;
47 void export_function(
const Args& args,
const Kwargs& kwargs);
48 std::set<std::uintptr_t> constants;
51 std::shared_ptr<FunctionTable> ftable;
54struct ImportedFunction {
56 const std::initializer_list<array>& args)
const {
64 ImportedFunction(
const std::string& file);
68 std::shared_ptr<FunctionTable> ftable;
std::vector< array > Args
Definition export.h:11
std::map< std::string, array > Kwargs
Definition export.h:12
void operator()(const Args &args, const Kwargs &kwargs)
friend FunctionExporter exporter(const std::string &, const std::function< std::vector< array >(const Args &)> &, bool shapeless)
Make an exporter to save multiple traces of a given function to the same file.
FunctionExporter & operator=(const FunctionExporter &)=delete
void operator()(const Args &args)
friend FunctionExporter exporter(const std::string &, const std::function< std::vector< array >(const Args &, const Kwargs &)> &, bool shapeless)
FunctionExporter(const FunctionExporter &)=delete
FunctionExporter(FunctionExporter &&other)=default
void operator()(const Kwargs &kwargs)
void operator()(const std::initializer_list< array > &args)
Definition export_impl.h:12
friend FunctionExporter exporter(const std::string &, const std::function< std::vector< array >(const Kwargs &)> &, bool shapeless)
std::vector< array > operator()(const Kwargs &kwargs) const
std::vector< array > operator()(const std::initializer_list< array > &args) const
Definition export_impl.h:55
std::vector< array > operator()(const Args &args) const
friend ImportedFunction import_function(const std::string &)
Import a function from a file.
std::vector< array > operator()(const Args &args, const Kwargs &kwargs) const