27 std::vector<std::pair<std::string, std::string>> testCode(
const std::string& source);
29 bool testCodeWithLog(
const std::string& source,
const std::function<
void(
const char*,
const char*)>& externalLog);
31 bool addCode(
const std::string& name,
const std::string& source);
33 bool addCodeWithArgs(
const std::string& name,
const std::string& source,
const std::string& args);
35 void removeCode(
const std::string& name);
38 std::function<T> lookup(
const std::string& name)
40 return std::function<T>(
reinterpret_cast<T*
>(_lookup(name)));
44 std::function<T> lookup(
const std::string& moduleName,
const std::string& name)
46 return std::function<T>(
reinterpret_cast<T*
>(_lookup(moduleName, name)));
49 uintptr_t lookupPtr(
const std::string& moduleName,
const std::string& name)
51 return _lookup(moduleName, name);
56 std::string generateUniqueName();
58 void setLog(
void (*callback)(
const char*)) { m_log = callback; }
60 void log(
const char* msg) {
if (m_log) m_log(msg); }
62 void setDefaultArgs(
const std::vector<std::string>& args);
64 void addDefaultArgs(
const std::vector<std::string>& args);
76 uintptr_t _lookup(
const std::string& name);
78 uintptr_t _lookup(
const std::string& moduleName,
const std::string& name);
82 #ifdef ENABLE_ATOMS_LLVM
83 std::unique_ptr<class AtomsJIT> m_jit;
86 size_t m_unique_identifier;
88 void (*m_log)(
const char*);
Nurbs curve.
Definition: AtomsScriptLang.h:20
Atoms namespace.
Definition: Agent.h:29