ZeroBuf  0.5.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 <memory>
10 #include <servus/serializable.h> // nested Data class
11 #include <servus/types.h>
12 
22 namespace zerobuf
23 {
24 class Allocator;
25 class NonMovingAllocator;
26 class NonMovingBaseAllocator;
27 class Zerobuf;
28 template <class T>
29 class Vector;
30 
31 typedef std::unique_ptr<Allocator> AllocatorPtr;
32 typedef std::unique_ptr<const Allocator> ConstAllocatorPtr;
33 
34 using servus::uint128_t;
35 typedef uint8_t byte_t;
36 
37 typedef servus::Serializable::Data Data;
38 
39 template <typename T>
40 std::string enum_to_string(const T&);
41 template <typename T>
42 T string_to_enum(const std::string&);
43 }
44 
45 namespace Json
46 {
47 class Value;
48 }
49 
50 #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:35
Definition: types.h:45
STL-like vector abstraction for dynamic arrays in a zerobuf.
Definition: types.h:29