define_decl.hpp File Reference
`#include <msgpack/preprocessor.hpp>`
`#include "msgpack/versioning.hpp"`
`#include "msgpack/adaptor/int.hpp"`
`#include "msgpack/v1/adaptor/define_decl.hpp"`
`#include "msgpack/v2/adaptor/define_decl.hpp"`
`#include "msgpack/v3/adaptor/define_decl.hpp"`

Go to the source code of this file.

## Macros

#define | MSGPACK_PP_VARIADICS
#define | MSGPACK_DEFINE_ARRAY(...)
#define | MSGPACK_BASE_ARRAY(base) (*const_cast<base *>(static_cast<base const*>(this)))
#define | MSGPACK_NVP(name, value) (name) (value)
#define | MSGPACK_DEFINE_MAP_EACH_PROC(r, data, elem)
#define | MSGPACK_DEFINE_MAP_IMPL(...)
#define | MSGPACK_DEFINE_MAP(...)
#define | MSGPACK_BASE_MAP(base) (MSGPACK_PP_STRINGIZE(base))(*const_cast<base *>(static_cast<base const*>(this)))
#define | MSGPACK_ADD_ENUM(enum_name)
#define | MSGPACK_DEFINE MSGPACK_DEFINE_ARRAY
#define | MSGPACK_BASE MSGPACK_BASE_ARRAY

## Macro Definition Documentation

## MSGPACK_ADD_ENUM

#define MSGPACK_ADD_ENUM | ( |  | enum_name | ) |

## MSGPACK_BASE

#define MSGPACK_BASE MSGPACK_BASE_ARRAY

## MSGPACK_BASE_ARRAY

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

## MSGPACK_BASE_MAP

#define MSGPACK_BASE_MAP | ( |  | base | ) | (MSGPACK_PP_STRINGIZE(base))(*const_cast<base *>(static_cast<base const*>(this)))

## MSGPACK_DEFINE

#define MSGPACK_DEFINE MSGPACK_DEFINE_ARRAY

## 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); \
}
msgpack::type::make_define_array
define_array make_define_array()
Definition: cpp03_define_array.hpp:4274
msgpack::type::define_array::msgpack_pack
void msgpack_pack(Packer &pk) const
Definition: cpp11_define_array.hpp:66
msgpack::zone
Definition: cpp03_zone.hpp:22
msgpack::type::define_array::msgpack_unpack
void msgpack_unpack(msgpack::object const &o)
Definition: cpp11_define_array.hpp:72
msgpack::object
Object class that corresponding to MessagePack format object.
Definition: object_fwd.hpp:75
msgpack::type::define_array::msgpack_object
void msgpack_object(msgpack::object *o, msgpack::zone &z) const
Definition: cpp11_define_array.hpp:78

## MSGPACK_DEFINE_MAP

#define MSGPACK_DEFINE_MAP | ( |  | ... | ) |

Value:
template <typename Packer> \
void msgpack_pack(Packer& pk) const \
{ \
msgpack::type::make_define_map \
MSGPACK_DEFINE_MAP_IMPL(__VA_ARGS__) \
.msgpack_pack(pk); \
} \
void msgpack_unpack(msgpack::object const& o) \
{ \
msgpack::type::make_define_map \
MSGPACK_DEFINE_MAP_IMPL(__VA_ARGS__) \
.msgpack_unpack(o); \
}\
template <typename MSGPACK_OBJECT> \
void msgpack_object(MSGPACK_OBJECT* o, msgpack::zone& z) const \
{ \
msgpack::type::make_define_map \
MSGPACK_DEFINE_MAP_IMPL(__VA_ARGS__) \
.msgpack_object(o, z); \
}
msgpack::zone
Definition: cpp03_zone.hpp:22
msgpack::object
Object class that corresponding to MessagePack format object.
Definition: object_fwd.hpp:75

## MSGPACK_DEFINE_MAP_EACH_PROC

#define MSGPACK_DEFINE_MAP_EACH_PROC | ( |  | r,
|  |  | data,
|  |  | elem
| ) |  |

Value:
MSGPACK_PP_IF( \
MSGPACK_PP_IS_BEGIN_PARENS(elem), \
elem, \
(MSGPACK_PP_STRINGIZE(elem))(elem) \
)
MSGPACK_PP_STRINGIZE
#define MSGPACK_PP_STRINGIZE(text)
Definition: stringize.hpp:28
MSGPACK_PP_IF
#define MSGPACK_PP_IF(cond, t, f)
Definition: if.hpp:26

## MSGPACK_DEFINE_MAP_IMPL

#define MSGPACK_DEFINE_MAP_IMPL | ( |  | ... | ) |

Value:
MSGPACK_PP_SEQ_TO_TUPLE( \
MSGPACK_PP_SEQ_FOR_EACH( \
MSGPACK_DEFINE_MAP_EACH_PROC, \
0, \
MSGPACK_PP_VARIADIC_TO_SEQ(__VA_ARGS__) \
) \
)
MSGPACK_PP_SEQ_TO_TUPLE
#define MSGPACK_PP_SEQ_TO_TUPLE(seq)
Definition: to_tuple.hpp:23
MSGPACK_PP_SEQ_FOR_EACH
#define MSGPACK_PP_SEQ_FOR_EACH(macro, data, seq)
Definition: for_each.hpp:31
MSGPACK_DEFINE_MAP_EACH_PROC
#define MSGPACK_DEFINE_MAP_EACH_PROC(r, data, elem)
Definition: define_decl.hpp:47

## MSGPACK_NVP

#define MSGPACK_NVP | ( |  | name,
|  |  | value
| ) |  | (name) (value)

## MSGPACK_PP_VARIADICS

#define MSGPACK_PP_VARIADICS