MessagePack for C++
pack_decl.hpp
Go to the documentation of this file.
1 //
2 // MessagePack for C++ serializing routine
3 //
4 // Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi
5 //
6 // Distributed under the Boost Software License, Version 1.0.
7 // (See accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt)
9 //
10 #ifndef MSGPACK_V1_PACK_DECL_HPP
11 #define MSGPACK_V1_PACK_DECL_HPP
12 
13 #include "msgpack/versioning.hpp"
14 #include "msgpack/cpp_config.hpp"
15 #include "msgpack/sysdep.hpp"
16 
17 namespace msgpack {
18 
22 
24 
28 template <typename Stream>
29 class packer;
30 
32 
41 template <typename Stream, typename T>
42 void pack(Stream* s, const T& v);
43 
45 
51 template <typename Stream, typename T>
52 void pack(Stream& s, const T& v);
53 
54 #if MSGPACK_ENDIAN_LITTLE_BYTE
55 template <typename T>
56 char take8_8(T d);
57 
58 template <typename T>
59 char take8_16(T d);
60 
61 template <typename T>
62 char take8_32(T d);
63 
64 template <typename T>
65 char take8_64(T d);
66 
67 #elif MSGPACK_ENDIAN_BIG_BYTE
68 
69 template <typename T>
70 char take8_8(T d);
71 
72 template <typename T>
73 char take8_16(T d);
74 
75 template <typename T>
76 char take8_32(T d);
77 
78 template <typename T>
79 char take8_64(T d);
80 
81 #else
82 #error msgpack-c supports only big endian and little endian
83 #endif
84 
86 } // MSGPACK_API_VERSION_NAMESPACE(v1)
88 
89 } // namespace msgpack
90 
91 #endif // MSGPACK_V1_PACK_DECL_HPP
Definition: adaptor_base.hpp:15
void pack(msgpack::packer< Stream > &o, const T &v)
Definition: object.hpp:1180
#define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition: versioning.hpp:66