KSeExpr
4.0.4.0
|
A class that lets you register for the variables used by one or more expressions. More...
#include <VarBlock.h>
Classes | |
class | Ref |
Internally implemented var ref used by SeExpr. More... | |
Public Member Functions | |
int | registerVariable (const std::string &name, const ExprType &type) |
Register a variable and return a handle. More... | |
VarBlock | create (bool makeThreadSafe=false) const |
ExprVarRef * | resolveVar (const std::string &name) const |
Resolve the variable using anything in the data block (call from resolveVar in Expr subclass) More... | |
Private Attributes | |
int | _nextOffset {} |
std::map< std::string, Ref > | _vars |
A class that lets you register for the variables used by one or more expressions.
Definition at line 89 of file VarBlock.h.
|
inline |
Get an evaluation handle (one needed per thread)
makeThreadSafe | If true, right before evaluating the expression, all data used by the interpreter will be copied to the var block, to make the evaluation thread safe (assuming there's one var block instead per thread) If false or not specified, the old behavior occurs (var block will only hold variables sources and optionally output data, and the interpreter will work on its internal data) |
Definition at line 145 of file VarBlock.h.
References _nextOffset.
|
inline |
Register a variable and return a handle.
Definition at line 124 of file VarBlock.h.
References _nextOffset, _vars, and KSeExpr::ExprType::dim().
|
inline |
Resolve the variable using anything in the data block (call from resolveVar in Expr subclass)
Definition at line 151 of file VarBlock.h.
References _vars.
|
private |
Definition at line 160 of file VarBlock.h.
Referenced by create(), and registerVariable().
|
private |
Definition at line 161 of file VarBlock.h.
Referenced by registerVariable(), and resolveVar().