ZeroBuf  0.1.0
ZeroBuf is a replacement for FlatBuffers
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
zerobuf::Allocator Class Referenceabstract

Allocator base class and interface. More...

#include <Allocator.h>

+ Inheritance diagram for zerobuf::Allocator:
+ Collaboration diagram for zerobuf::Allocator:

Public Member Functions

virtual uint8_t * getData ()=0
 
virtual const uint8_t * getData () const =0
 
virtual size_t getSize () const =0
 
virtual void copyBuffer (const void *data, size_t size)=0
 
virtual uint8_t * updateAllocation (size_t index, size_t newSize)=0
 Update allocation of the dynamic elem. More...
 
template<class T >
T * getItemPtr (const size_t offset)
 
template<class T >
const T * getItemPtr (const size_t offset) const
 
template<class T >
T & getItem (const size_t offset)
 
template<class T >
getItem (const size_t offset) const
 
template<class T >
T * getDynamic (const size_t index)
 
template<class T >
const T * getDynamic (const size_t index) const
 
size_t getDynamicSize (const size_t index) const
 

Protected Member Functions

uint64_t & _getOffset (const size_t i)
 
uint64_t _getOffset (const size_t i) const
 
uint64_t & _getSize (const size_t i)
 
uint64_t _getSize (const size_t i) const
 

Detailed Description

Allocator base class and interface.

Implements part of the binary data layout by providing access to the stored elements.

Definition at line 20 of file Allocator.h.

Member Function Documentation

virtual uint8_t* zerobuf::Allocator::updateAllocation ( size_t  index,
size_t  newSize 
)
pure virtual

Update allocation of the dynamic elem.

  • index to have newSize bytes. Updates the offset and size fields in the static section as needed. Does not copy the old data to the new location.
    Returns
    the pointer to the elem at the new place.

Implemented in zerobuf::NonMovingBaseAllocator.


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