ZeroBuf  0.2.0
Zero-copy, zero-serialize, zero-hassle protocol buffers
json.h
1 
2 /* Copyright (c) 2016, Human Brain Project
3  * Stefan.Eilemann@epfl.ch
4  */
5 
6 #ifndef ZEROBUF_JSON_H
7 #define ZEROBUF_JSON_H
8 
9 #include <zerobuf/api.h>
10 #include <zerobuf/types.h>
11 
12 namespace zerobuf
13 {
16 ZEROBUF_API const Json::Value& getJSONField( const Json::Value& json,
17  const std::string& field );
18 ZEROBUF_API Json::Value& getJSONField( Json::Value& json,
19  const std::string& field );
20 ZEROBUF_API const Json::Value& getJSONField( const Json::Value& json,
21  size_t index );
22 ZEROBUF_API Json::Value& getJSONField( Json::Value& json, size_t index );
23 ZEROBUF_API size_t getJSONSize( const Json::Value& json );
24 
25 template< class T > T fromJSON( const Json::Value& json );
26 template< class T > void toJSON( const T& value, Json::Value& json);
27 ZEROBUF_API void fromJSON( const Json::Value& json, Zerobuf& zerobuf );
28 ZEROBUF_API void toJSON( const Zerobuf& zerobuf, Json::Value& json );
29 ZEROBUF_API std::string fromJSONBinary( const Json::Value& json );
30 ZEROBUF_API void toJSONBinary( const uint8_t* data, const size_t size,
31  Json::Value& json );
33 }
34 
35 #endif
Defines export visibility macros for library ZeroBuf.
Zero-copy, zero-serialize, zero-hassle protocol buffers.
Definition: Allocator.h:12