ZeroBuf  0.5.0
Zero-copy, zero-serialize, zero-hassle protocol buffers
zerobuf Namespace Reference

Zero-copy, zero-serialize, zero-hassle protocol buffers. More...

Classes

class  Allocator
 Allocator base class and interface. More...
 
class  ConstAllocator
 A zerobuf root allocator which gives read-only access to its data. More...
 
class  DynamicSubAllocatorBase
 A zerobuf child allocator which manages a dynamic allocation of statically-sized members. More...
 
class  NonMovingAllocator
 A zerobuf root allocator which does not move existing fields. More...
 
class  NonMovingBaseAllocator
 Allocator base class which does not move existing fields. More...
 
class  NonMovingSubAllocatorBase
 A zerobuf child allocator which does not move existing fields. More...
 
class  StaticSubAllocatorBase
 A zerobuf child allocator which manages a static sub-struct. More...
 
class  Vector
 STL-like vector abstraction for dynamic arrays in a zerobuf. More...
 
class  Version
 Information about the current ZeroBuf version. More...
 
class  Zerobuf
 Base class for all Zerobuf serializable objects. More...
 

Typedefs

typedef DynamicSubAllocatorBase< AllocatorDynamicSubAllocator
 
typedef DynamicSubAllocatorBase< const AllocatorConstDynamicSubAllocator
 
typedef NonMovingSubAllocatorBase< AllocatorNonMovingSubAllocator
 
typedef NonMovingSubAllocatorBase< const AllocatorConstNonMovingSubAllocator
 
typedef StaticSubAllocatorBase< AllocatorStaticSubAllocator
 
typedef StaticSubAllocatorBase< const AllocatorConstStaticSubAllocator
 
typedef std::unique_ptr< AllocatorAllocatorPtr
 
typedef std::unique_ptr< const AllocatorConstAllocatorPtr
 
typedef uint8_t byte_t
 alias type for base64 encoded fields
 
typedef servus::Serializable::Data Data
 

Functions

template<typename T >
std::string enum_to_string (const T &)
 
template<typename T >
string_to_enum (const std::string &)
 
template<class T >
std::ostream & operator<< (std::ostream &os, const Vector< T > &vector)
 
template<>
std::ostream & operator<< (std::ostream &os, const Vector< char > &string)
 
std::ostream & operator<< (std::ostream &os, const Zerobuf &zerobuf)
 

Detailed Description

Zero-copy, zero-serialize, zero-hassle protocol buffers.

Zerobuf uses a schema language (currently FlatBuffers .fbs) generating C++ classes which provide direct get and set access on the defined data members; a single, in-memory buffer storing all data members, which is directly serializable; Easy to use, random access to the the data members; and zero copy of the data used by the (C++) implementation from and to the network.