ZeroBuf
0.5.0
Zero-copy, zero-serialize, zero-hassle protocol buffers
|
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< Allocator > | DynamicSubAllocator |
typedef DynamicSubAllocatorBase< const Allocator > | ConstDynamicSubAllocator |
typedef NonMovingSubAllocatorBase< Allocator > | NonMovingSubAllocator |
typedef NonMovingSubAllocatorBase< const Allocator > | ConstNonMovingSubAllocator |
typedef StaticSubAllocatorBase< Allocator > | StaticSubAllocator |
typedef StaticSubAllocatorBase< const Allocator > | ConstStaticSubAllocator |
typedef std::unique_ptr< Allocator > | AllocatorPtr |
typedef std::unique_ptr< const Allocator > | ConstAllocatorPtr |
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 > | |
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) |
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.