10#ifndef MSGPACK_V1_TYPE_PAIR_HPP
11#define MSGPACK_V1_TYPE_PAIR_HPP
28#if !defined(MSGPACK_USE_CPP03)
30template <
typename T1,
typename T2>
32 typename std::enable_if<msgpack::any_of<msgpack::has_as, T1, T2>::value>::type> {
36 return std::make_pair(
o.via.array.ptr[0].as<
T1>(),
o.via.array.ptr[1].as<
T2>());
42template <
typename T1,
typename T2>
47 o.via.array.ptr[0].convert(
v.first);
48 o.via.array.ptr[1].convert(
v.second);
53template <
typename T1,
typename T2>
55 template <
typename Stream>
64template <
typename T1,
typename T2>
67 o.type = msgpack::type::ARRAY;
The class template that supports continuous packing.
Definition pack.hpp:33
Definition object_fwd.hpp:231
Definition adaptor_base.hpp:15
std::pair< T1, T2 > operator()(msgpack::object const &o) const
Definition pair.hpp:33
Definition object_fwd_decl.hpp:61
msgpack::object const & operator()(msgpack::object const &o, std::pair< T1, T2 > &v) const
Definition pair.hpp:44
Definition adaptor_base.hpp:27
void operator()(msgpack::object::with_zone &o, const std::pair< T1, T2 > &v) const
Definition pair.hpp:66
Definition adaptor_base.hpp:43
msgpack::packer< Stream > & operator()(msgpack::packer< Stream > &o, const std::pair< T1, T2 > &v) const
Definition pair.hpp:56
Definition adaptor_base.hpp:32
Object class that corresponding to MessagePack format object.
Definition object_fwd.hpp:75
#define MSGPACK_ZONE_ALIGNOF(type)
Definition cpp03_zone_decl.hpp:30
#define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition versioning.hpp:66