SeExpr
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
SeExpr2::VarBlock Class Reference

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. More...
 
 ~VarBlock ()
 
 VarBlock (const VarBlock &)=delete
 Don't allow copying and operator='ing'. More...
 
VarBlockoperator= (const VarBlock &)=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...
 

Private Member Functions

 VarBlock (int size)
 Allocate an VarBlock. More...
 

Private Attributes

std::vector< char * > _dataPtrs
 This stores double* or char** ptrs. More...
 

Friends

class VarBlockCreator
 

Detailed Description

A thread local evaluation context. Just allocate and fill in with data.

Definition at line 35 of file VarBlock.h.

Constructor & Destructor Documentation

SeExpr2::VarBlock::VarBlock ( int  size)
inlineprivate

Allocate an VarBlock.

Definition at line 38 of file VarBlock.h.

References _dataPtrs.

SeExpr2::VarBlock::VarBlock ( VarBlock &&  other)
inline

Move semantics is the only allowed way to change the structure.

Definition at line 44 of file VarBlock.h.

References _dataPtrs.

SeExpr2::VarBlock::~VarBlock ( )
inline

Definition at line 46 of file VarBlock.h.

SeExpr2::VarBlock::VarBlock ( const VarBlock )
delete

Don't allow copying and operator='ing'.

Member Function Documentation

char**& SeExpr2::VarBlock::CharPointer ( uint32_t  variableOffset)
inline

Definition at line 54 of file VarBlock.h.

References _dataPtrs.

char** SeExpr2::VarBlock::data ( )
inline

Raw data of the data block pointer (used by compiler)

Definition at line 61 of file VarBlock.h.

References _dataPtrs.

Referenced by SeExpr2::Interpreter::eval(), and SeExpr2::Expression::evalMultiple().

VarBlock& SeExpr2::VarBlock::operator= ( const VarBlock )
delete
double*& SeExpr2::VarBlock::Pointer ( uint32_t  variableOffset)
inline

Get a reference to the data block pointer which can be modified.

Definition at line 53 of file VarBlock.h.

References _dataPtrs.

Referenced by f().

Friends And Related Function Documentation

friend class VarBlockCreator
friend

Definition at line 41 of file VarBlock.h.

Member Data Documentation

std::vector<char*> SeExpr2::VarBlock::_dataPtrs
private

This stores double* or char** ptrs.

Definition at line 65 of file VarBlock.h.

Referenced by CharPointer(), data(), Pointer(), and VarBlock().

int SeExpr2::VarBlock::indirectIndex

indirect index to add to pointer based data

Definition at line 58 of file VarBlock.h.

Referenced by SeExpr2::Interpreter::eval(), and SeExpr2::Expression::evalMultiple().


The documentation for this class was generated from the following file: