MessagePack for C++
Classes | Namespaces | Macros | Functions
cpp11_define_array.hpp File Reference
#include "msgpack/versioning.hpp"
#include "msgpack/adaptor/adaptor_base.hpp"
#include "msgpack/adaptor/int.hpp"
#include <type_traits>
#include <tuple>

Go to the source code of this file.

Classes

struct  msgpack::type::define_array_imp< Tuple, N >
 
struct  msgpack::type::define_array_imp< Tuple, 1 >
 
struct  msgpack::type::define_array< Args >
 
struct  msgpack::type::define_array<>
 

Namespaces

 msgpack
 
 msgpack::type
 

Macros

#define MSGPACK_DEFINE_ARRAY(...)
 
#define MSGPACK_BASE_ARRAY(base)   (*const_cast<base *>(static_cast<base const*>(this)))
 
#define MSGPACK_ADD_ENUM(enum_name)
 

Functions

define_array msgpack::type::make_define_array ()
 
template<typename... Args>
define_array< Args... > msgpack::type::make_define_array (Args &... args)
 

Macro Definition Documentation

§ MSGPACK_ADD_ENUM

#define MSGPACK_ADD_ENUM (   enum_name)

§ MSGPACK_BASE_ARRAY

#define MSGPACK_BASE_ARRAY (   base)    (*const_cast<base *>(static_cast<base const*>(this)))

§ MSGPACK_DEFINE_ARRAY

#define MSGPACK_DEFINE_ARRAY (   ...)
Value:
template <typename Packer> \
void msgpack_pack(Packer& pk) const \
{ \
msgpack::type::make_define_array(__VA_ARGS__).msgpack_pack(pk); \
} \
void msgpack_unpack(msgpack::object const& o) \
{ \
msgpack::type::make_define_array(__VA_ARGS__).msgpack_unpack(o); \
}\
template <typename MSGPACK_OBJECT> \
void msgpack_object(MSGPACK_OBJECT* o, msgpack::zone& z) const \
{ \
msgpack::type::make_define_array(__VA_ARGS__).msgpack_object(o, z); \
}
Definition: cpp03_zone.hpp:34
Object class that corresponding to MessagePack format object.
Definition: object_fwd.hpp:106
define_array< Args... > make_define_array(Args &... args)
Definition: cpp11_define_array.hpp:182