Lumiera  0.pre.03
»edit your freedom«
BuffTable Struct Reference

#include "steam/engine/bufftable.hpp"

Description

Tables of buffer handles and corresponding dereferenced buffer pointers.

Used within the invocation of a processing node to calculate data. The tables are further differentiated into input data buffers and output data buffers. The tables are supposed to be implemented as bare "C" arrays, thus the array of real buffer pointers can be fed directly to the processing function of the respective node.

Todo:
this whole design is a first attempt and rather clumsy. It should be reworked to use a single contiguous memory area and just layer the object structure on top (by using placement new). Yet the idea of an stack-like organisation should be retained

Definition at line 57 of file bufftable.hpp.

Public Types

typedef vector< BuffHandleBuffHandleTable
 
typedef lib::RangeIter< BuffHandleTable::iterator > iterator
 
typedef BuffHandle::PBuffPBu
 
typedef BuffHandlePHa
 

Public Member Functions

iterator buffers ()
 
iterator inBuffers ()
 
void lockBuffers ()
 
iterator outBuffers ()
 
void releaseBuffers ()
 

Static Public Member Functions

static Builderprepare (const size_t STORAGE_SIZE, void *storage)
 

Classes

class  Builder
 
struct  Storage
 
struct  StorageChunk
 

Class Documentation

◆ steam::engine::BuffTable::StorageChunk

struct steam::engine::BuffTable::StorageChunk
+ Collaboration diagram for BuffTable::StorageChunk:
+ Collaboration diagram for BuffTable:

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