79 #undef VLINK_EXPRTK_API_EXPORT
80 #ifdef VLINK_EXPRTK_API_LIBRARY_STATIC
81 #define VLINK_EXPRTK_API_EXPORT
82 #elif defined(_WIN32) || defined(__CYGWIN__)
83 #ifdef VLINK_EXPRTK_API_LIBRARY
84 #define VLINK_EXPRTK_API_EXPORT __declspec(dllexport)
86 #define VLINK_EXPRTK_API_EXPORT __declspec(dllimport)
89 #define VLINK_EXPRTK_API_EXPORT __attribute__((visibility("default")))
95 #include "../base/macros.h"
99 class ExprtkExpression;
141 void add_constants();
151 bool add_variable(const std::
string& name,
double& value);
157 std::unique_ptr<Impl> impl_;
214 bool compile(const std::
string& expression);
221 double value() const;
225 std::unique_ptr<Impl> impl_;
Opaque wrapper around exprtk::expression<double> plus its compiler.
Definition: exprtk_api.h:174
ExprtkExpression()
Construct an empty, uncompiled expression.
~ExprtkExpression()
Destroy the expression and release the underlying ExprTk state.
ExprtkExpression(ExprtkExpression &&) noexcept
Move constructor; transfers ownership of the underlying ExprTk state.
Opaque wrapper around exprtk::symbol_table<double>.
Definition: exprtk_api.h:114
~ExprtkSymbolTable()
Destroy the symbol table and release the underlying ExprTk state.
ExprtkSymbolTable()
Construct an empty symbol table.
ExprtkSymbolTable(ExprtkSymbolTable &&) noexcept
Move constructor; transfers ownership of the underlying ExprTk state.
#define VLINK_EXPRTK_API_EXPORT
Definition: exprtk_api.h:89
#define VLINK_DISALLOW_COPY_AND_ASSIGN(classname)
Deletes the copy constructor and copy-assignment operator of classname.
Definition: macros.h:174