hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
hobbes::StoredSeries Class Reference

#include <series.H>

Collaboration diagram for hobbes::StoredSeries:
Collaboration graph

Public Member Functions

 StoredSeries (cc *, writer *, const std::string &, const MonoTypePtr &, size_t)
 
 ~StoredSeries ()
 
const MonoTypePtrstorageType () const
 
void record (const void *, bool signal=true)
 
void bindAs (cc *, const std::string &)
 
uint64_t writePosition () const
 

Private Types

typedef void(* StoreFn) (writer *, const void *, void *)
 

Private Member Functions

void consBatchNode (uint64_t nextPtr)
 
void restartFromBatchNode ()
 

Static Private Member Functions

static uint64_t allocBatchNode (writer *)
 
static uint64_t allocBatchNode (writer *, uint64_t, uint64_t)
 

Private Attributes

writeroutputFile
 
MonoTypePtr recordType
 
MonoTypePtr storedType
 
size_t storageSize
 
MonoTypePtr batchType
 
size_t batchSize
 
uint64_t batchDataRef
 
void * batchData
 
uint8_t * batchHead
 
uint64_t batchNode
 
uint64_t * headNodeRef
 
StoreFn storeFn
 

Member Typedef Documentation

◆ StoreFn

typedef void(* hobbes::StoredSeries::StoreFn) (writer *, const void *, void *)
private

Constructor & Destructor Documentation

◆ StoredSeries()

hobbes::StoredSeries::StoredSeries ( cc c,
writer outputFile,
const std::string &  fieldName,
const MonoTypePtr ty,
size_t  batchSize 
)

◆ ~StoredSeries()

hobbes::StoredSeries::~StoredSeries ( )

Member Function Documentation

◆ allocBatchNode() [1/2]

uint64_t hobbes::StoredSeries::allocBatchNode ( writer file)
staticprivate

◆ allocBatchNode() [2/2]

uint64_t hobbes::StoredSeries::allocBatchNode ( writer file,
uint64_t  batchOffset,
uint64_t  nextNodeOffset 
)
staticprivate

◆ bindAs()

void hobbes::StoredSeries::bindAs ( cc c,
const std::string &  vname 
)

◆ consBatchNode()

void hobbes::StoredSeries::consBatchNode ( uint64_t  nextPtr)
private

◆ record()

void hobbes::StoredSeries::record ( const void *  v,
bool  signal = true 
)

◆ restartFromBatchNode()

void hobbes::StoredSeries::restartFromBatchNode ( )
private

◆ storageType()

const MonoTypePtr & hobbes::StoredSeries::storageType ( ) const

◆ writePosition()

uint64_t hobbes::StoredSeries::writePosition ( ) const

Member Data Documentation

◆ batchData

void* hobbes::StoredSeries::batchData
private

◆ batchDataRef

uint64_t hobbes::StoredSeries::batchDataRef
private

◆ batchHead

uint8_t* hobbes::StoredSeries::batchHead
private

◆ batchNode

uint64_t hobbes::StoredSeries::batchNode
private

◆ batchSize

size_t hobbes::StoredSeries::batchSize
private

◆ batchType

MonoTypePtr hobbes::StoredSeries::batchType
private

◆ headNodeRef

uint64_t* hobbes::StoredSeries::headNodeRef
private

◆ outputFile

writer* hobbes::StoredSeries::outputFile
private

◆ recordType

MonoTypePtr hobbes::StoredSeries::recordType
private

◆ storageSize

size_t hobbes::StoredSeries::storageSize
private

◆ storedType

MonoTypePtr hobbes::StoredSeries::storedType
private

◆ storeFn

StoreFn hobbes::StoredSeries::storeFn
private

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