10 #ifndef MSGPACK_V1_CPP11_DEFINE_ARRAY_HPP 11 #define MSGPACK_V1_CPP11_DEFINE_ARRAY_HPP 23 template <
typename Tuple, std::
size_t N>
25 template <
typename Packer>
26 static void pack(Packer& pk, Tuple
const& t) {
28 pk.pack(std::get<N-1>(t));
33 if(size <= N-1) {
return; }
42 template <
typename Tuple>
44 template <
typename Packer>
45 static void pack(Packer& pk, Tuple
const& t) {
46 pk.pack(std::get<0>(t));
50 if(size <= 0) {
return; }
58 template <
typename... Args>
64 template <
typename Packer>
67 pk.pack_array(
sizeof...(Args));
86 std::tuple<Args&...>
a;
93 template <
typename Packer>
115 template <
typename... Args>
127 #endif // MSGPACK_V1_CPP11_DEFINE_ARRAY_HPP define_array make_define_array()
Definition: cpp03_define_array.hpp:4274
define_array< Args... > value_type
Definition: cpp11_define_array.hpp:60
uint32_t size
Definition: object_fwd.hpp:23
void * allocate_align(size_t size, size_t align=MSGPACK_ZONE_ALIGN)
Definition: cpp03_zone.hpp:236
static void unpack(msgpack::object const &o, Tuple &t)
Definition: cpp11_define_array.hpp:30
void msgpack_object(msgpack::object *o, msgpack::zone &) const
Definition: cpp11_define_array.hpp:102
std::tuple tuple_type
Definition: cpp11_define_array.hpp:92
union_type via
Definition: object_fwd.hpp:93
void msgpack_pack(Packer &pk) const
Definition: cpp11_define_array.hpp:65
Definition: cpp11_define_array.hpp:24
void msgpack_unpack(msgpack::object const &o)
Definition: cpp11_define_array.hpp:98
static void object(msgpack::object *o, msgpack::zone &z, Tuple const &t)
Definition: cpp11_define_array.hpp:36
Definition: cpp11_define_array.hpp:59
static void object(msgpack::object *o, msgpack::zone &z, Tuple const &t)
Definition: cpp11_define_array.hpp:53
msgpack::object * ptr
Definition: object_fwd.hpp:24
static void pack(Packer &pk, Tuple const &t)
Definition: cpp11_define_array.hpp:26
Definition: adaptor_base.hpp:15
Definition: cpp03_zone.hpp:22
void msgpack_pack(Packer &pk) const
Definition: cpp11_define_array.hpp:94
Definition: object_fwd.hpp:236
static void pack(Packer &pk, Tuple const &t)
Definition: cpp11_define_array.hpp:45
std::size_t size(T const &t)
Definition: size_equal_only.hpp:24
define_array(Args &... args)
Definition: cpp11_define_array.hpp:62
msgpack::object_array array
Definition: object_fwd.hpp:85
std::tuple< Args &... > a
Definition: cpp11_define_array.hpp:86
void msgpack_unpack(msgpack::object const &o)
Definition: cpp11_define_array.hpp:71
Object class that corresponding to MessagePack format object.
Definition: object_fwd.hpp:75
msgpack::type::object_type type
Definition: object_fwd.hpp:92
void msgpack_object(msgpack::object *o, msgpack::zone &z) const
Definition: cpp11_define_array.hpp:77
#define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition: versioning.hpp:58
Definition: object_fwd_decl.hpp:41
std::tuple< Args... > tuple_type
Definition: cpp11_define_array.hpp:61
static void unpack(msgpack::object const &o, Tuple &t)
Definition: cpp11_define_array.hpp:48
msgpack::enable_if< !msgpack::is_array< T >::value &&!msgpack::is_pointer< T >::value, T &>::type convert(T &v) const
Convert the object.
Definition: object.hpp:538
define_array value_type
Definition: cpp11_define_array.hpp:91
Definition: cpp03_define_array.hpp:26