ZeroBuf  0.4.0
Zero-copy, zero-serialize, zero-hassle protocol buffers
types.h
1 
2 /* Copyright (c) 2015-2016, Human Brain Project
3  * Stefan.Eilemann@epfl.ch
4  */
5 
6 #ifndef ZEROBUF_TYPES_H
7 #define ZEROBUF_TYPES_H
8 
9 #include <servus/types.h>
10 #include <servus/serializable.h> // nested Data class
11 #include <memory>
12 
22 namespace zerobuf
23 {
24 class Allocator;
25 class NonMovingAllocator;
26 class NonMovingBaseAllocator;
27 class Zerobuf;
28 template< class T > class Vector;
29 
30 typedef std::unique_ptr< Allocator > AllocatorPtr;
31 typedef std::unique_ptr< const Allocator > ConstAllocatorPtr;
32 
33 using servus::uint128_t;
34 typedef uint8_t byte_t;
35 
36 typedef servus::Serializable::Data Data;
37 
38 template< typename T > std::string enum_to_string( const T& );
39 template< typename T > T string_to_enum( const std::string& );
40 }
41 
42 namespace Json
43 {
44 class Value;
45 }
46 
47 #endif
Zero-copy, zero-serialize, zero-hassle protocol buffers.
Definition: Allocator.h:12
uint8_t byte_t
alias type for base64 encoded fields
Definition: types.h:34
Definition: types.h:42
STL-like vector abstraction for dynamic arrays in a zerobuf.
Definition: types.h:28