MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ eval()

bool Lila::Lila::eval ( const std::string &  code)

Evaluates a C++ code snippet directly.

Parameters
codeCode to execute
Returns
True if evaluation succeeded, false otherwise

Definition at line 100 of file Lila.cpp.

101{
102 if (!m_interpreter) {
103 LILA_ERROR(Emitter::SYSTEM, "Cannot eval: interpreter not initialized");
104 return false;
105 }
106
107 auto result = m_interpreter->eval(code);
108
109 if (result.success && m_success_callback) {
111 } else if (!result.success && m_error_callback) {
112 m_error_callback(result.error);
113 }
114
115 return result.success;
116}
#define LILA_ERROR(emitter, msg)
std::function< void()> m_success_callback
Success callback.
Definition Lila.hpp:204
std::unique_ptr< ClangInterpreter > m_interpreter
Embedded Clang interpreter.
Definition Lila.hpp:200
std::function< void(const std::string &)> m_error_callback
Error callback.
Definition Lila.hpp:205

References LILA_ERROR.