|
SeExpr
|
A thread local evaluation context. Just allocate and fill in with data. More...
#include <VarBlock.h>
Public Member Functions | |
| VarBlock (VarBlock &&other) | |
| Move semantics is the only allowed way to change the structure. | |
| ~VarBlock () | |
| VarBlock (const VarBlock &)=delete | |
| Don't allow copying and operator='ing'. | |
| VarBlock & | operator= (const VarBlock &)=delete |
| double *& | Pointer (uint32_t variableOffset) |
| Get a reference to the data block pointer which can be modified. | |
| char **& | CharPointer (uint32_t variableOffset) |
| char ** | data () |
| Raw data of the data block pointer (used by compiler) | |
Public Attributes | |
| int | indirectIndex |
| indirect index to add to pointer based data | |
| bool | threadSafe |
| if true, interpreter's data will be copied to this instance before evaluation. | |
| std::vector< double > | d |
| copy of Interpreter's double data | |
| std::vector< char * > | s |
| copy of Interpreter's str data | |
Private Member Functions | |
| VarBlock (int size, bool makeThreadSafe) | |
| Allocate an VarBlock. | |
Private Attributes | |
| std::vector< char * > | _dataPtrs |
| This stores double* or char** ptrs to variables. | |
Friends | |
| class | VarBlockCreator |
A thread local evaluation context. Just allocate and fill in with data.
Definition at line 33 of file VarBlock.h.
|
inlineprivate |
Allocate an VarBlock.
Definition at line 36 of file VarBlock.h.
References _dataPtrs, indirectIndex, and threadSafe.
Referenced by operator=(), VarBlock(), and VarBlock().
|
inline |
Move semantics is the only allowed way to change the structure.
Definition at line 42 of file VarBlock.h.
References _dataPtrs, d, indirectIndex, s, threadSafe, and VarBlock().
|
inline |
Definition at line 50 of file VarBlock.h.
|
delete |
Don't allow copying and operator='ing'.
References VarBlock().
|
inline |
Definition at line 58 of file VarBlock.h.
References _dataPtrs.
|
inline |
Raw data of the data block pointer (used by compiler)
Definition at line 74 of file VarBlock.h.
References _dataPtrs.
Referenced by SeExpr2::Interpreter::eval(), and SeExpr2::Expression::evalMultiple().
References VarBlock().
|
inline |
Get a reference to the data block pointer which can be modified.
Definition at line 57 of file VarBlock.h.
References _dataPtrs.
Referenced by f().
|
friend |
Definition at line 39 of file VarBlock.h.
References VarBlockCreator.
Referenced by VarBlockCreator.
|
private |
This stores double* or char** ptrs to variables.
Definition at line 78 of file VarBlock.h.
Referenced by CharPointer(), data(), Pointer(), VarBlock(), and VarBlock().
| std::vector<double> SeExpr2::VarBlock::d |
copy of Interpreter's double data
Definition at line 68 of file VarBlock.h.
Referenced by SeExpr2::Interpreter::eval(), SeExpr2::Expression::evalFP(), and VarBlock().
| int SeExpr2::VarBlock::indirectIndex |
indirect index to add to pointer based data
Definition at line 62 of file VarBlock.h.
Referenced by SeExpr2::Interpreter::eval(), SeExpr2::Expression::evalMultiple(), VarBlock(), and VarBlock().
| std::vector<char*> SeExpr2::VarBlock::s |
copy of Interpreter's str data
Definition at line 71 of file VarBlock.h.
Referenced by SeExpr2::Interpreter::eval(), SeExpr2::Expression::evalStr(), and VarBlock().
| bool SeExpr2::VarBlock::threadSafe |
if true, interpreter's data will be copied to this instance before evaluation.
Definition at line 65 of file VarBlock.h.
Referenced by SeExpr2::Interpreter::eval(), SeExpr2::Expression::evalFP(), SeExpr2::Expression::evalStr(), VarBlock(), and VarBlock().