KSeExpr 6.0.0.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. | |
~VarBlock ()=default | |
VarBlock (const VarBlock &)=delete | |
Don't allow copying and operator='ing'. | |
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. | |
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 21 of file VarBlock.h.
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 |
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.
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 VarBlock().
int KSeExpr::VarBlock::indirectIndex |
indirect index to add to pointer based data
Definition at line 64 of file VarBlock.h.
Referenced by VarBlock().
std::vector<char *> KSeExpr::VarBlock::s |
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 VarBlock().