Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
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.

Classes

class  Builder
 
struct  Storage
 
struct  StorageChunk
 

Public Types

using PHa = BuffHandle *
 
using PBu = BuffHandle::PBuff *
 
using BuffHandleTable = vector< BuffHandle >
 
using iterator = lib::RangeIter< BuffHandleTable::iterator >
 

Static Public Member Functions

static Builderprepare (const size_t STORAGE_SIZE, void *storage)
 

Public Member Functions

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

Class Documentation

◆ steam::engine::BuffTable::StorageChunk

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

Member Typedef Documentation

◆ PHa

using PHa = BuffHandle *

Definition at line 59 of file bufftable.hpp.

◆ PBu

Definition at line 60 of file bufftable.hpp.

◆ BuffHandleTable

using BuffHandleTable = vector<BuffHandle>

Definition at line 83 of file bufftable.hpp.

◆ iterator

using iterator = lib::RangeIter<BuffHandleTable::iterator>

Definition at line 84 of file bufftable.hpp.

Member Function Documentation

◆ prepare()

BuffTable::Builder & prepare ( const size_t  STORAGE_SIZE,
void *  storage 
)
inlinestatic

Definition at line 97 of file bufftable.hpp.

Referenced by BufferProviderProtocol_test::verifyStandardCase().

+ Here is the caller graph for this function:

◆ lockBuffers()

void lockBuffers ( )
inline

Definition at line 118 of file bufftable.hpp.

Referenced by BufferProviderProtocol_test::verifyStandardCase().

+ Here is the caller graph for this function:

◆ releaseBuffers()

void releaseBuffers ( )
inline

Definition at line 125 of file bufftable.hpp.

Referenced by BufferProviderProtocol_test::verifyStandardCase().

+ Here is the caller graph for this function:

◆ buffers()

BuffTable::iterator buffers ( )
inline

Definition at line 133 of file bufftable.hpp.

Referenced by BufferProviderProtocol_test::verifyStandardCase().

+ Here is the caller graph for this function:

◆ inBuffers()

BuffTable::iterator inBuffers ( )
inline

Definition at line 140 of file bufftable.hpp.

◆ outBuffers()

BuffTable::iterator outBuffers ( )
inline

Definition at line 147 of file bufftable.hpp.

+ Collaboration diagram for BuffTable:

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