ZeroBuf  0.4.0
Zero-copy, zero-serialize, zero-hassle protocol buffers
zerobuf::NonMovingAllocator Class Reference

A zerobuf root allocator which does not move existing fields. More...

#include <NonMovingAllocator.h>

+ Inheritance diagram for zerobuf::NonMovingAllocator:
+ Collaboration diagram for zerobuf::NonMovingAllocator:

Public Member Functions

 NonMovingAllocator (size_t staticSize, size_t numDynamic)
 
uint8_t * getData () final
 
const uint8_t * getData () const final
 
size_t getSize () const final
 
void copyBuffer (const void *data, size_t size) final
 
bool isMovable () const final
 
- Public Member Functions inherited from zerobuf::NonMovingBaseAllocator
 NonMovingBaseAllocator (size_t staticSize, size_t numDynamic)
 
uint8_t * updateAllocation (size_t index, bool copy, size_t size) final
 Update allocation of the dynamic elem at index to have newSize bytes. More...
 
void compact (float threshold) final
 
- Public Member Functions inherited from zerobuf::Allocator
virtual bool isMutable () const
 
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
 
uint64_t getDynamicOffset (const size_t index) const
 
size_t getDynamicSize (const size_t index) const
 
void check (const size_t numDynamics) const
 

Additional Inherited Members

- Protected Member Functions inherited from zerobuf::Allocator
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
 
void _checkIndex (const size_t i) const
 

Detailed Description

A zerobuf root allocator which does not move existing fields.

Definition at line 16 of file NonMovingAllocator.h.


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