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