11 #ifndef MSGPACK_CPP11_UNIQUE_PTR_HPP 12 #define MSGPACK_CPP11_UNIQUE_PTR_HPP 29 struct as<std::
unique_ptr<T>, typename std::enable_if<msgpack::has_as<T>::value>::type> {
31 if(o.
is_nil())
return nullptr;
32 return std::unique_ptr<T>(
new T(o.
as<T>()));
50 template <
typename Stream>
82 #endif // MSGPACK_CPP11_UNIQUE_PTR_HPP #define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition: versioning.hpp:58
msgpack::object const & operator()(msgpack::object const &o, std::unique_ptr< T > &v) const
Definition: unique_ptr.hpp:38
msgpack::packer< Stream > & operator()(msgpack::packer< Stream > &o, const std::unique_ptr< T > &v) const
Definition: unique_ptr.hpp:51
std::unique_ptr< T > operator()(msgpack::object const &o) const
Definition: unique_ptr.hpp:30
Definition: object_fwd.hpp:82
std::enable_if< msgpack::has_as< T >::value, T >::type as() const
Get value as T.
Definition: object.hpp:558
Definition: adaptor_base.hpp:15
Definition: object_fwd.hpp:260
packer< Stream > & pack(const T &v)
Packing function template.
void operator()(msgpack::object &o, const std::unique_ptr< T > &v) const
Definition: unique_ptr.hpp:60
bool is_nil() const
Cheking nil.
Definition: object_fwd.hpp:129
Definition: cpp_config.hpp:44
Definition: object_fwd.hpp:29
Definition: adaptor_base.hpp:45
Definition: adaptor_base.hpp:34
Object class that corresponding to MessagePack format object.
Definition: object_fwd.hpp:106
msgpack::type::object_type type
Definition: object_fwd.hpp:122
Definition: adaptor_base.hpp:40
The class template that supports continuous packing.
Definition: adaptor_base.hpp:22
packer< Stream > & pack_nil()
Packing nil.
Definition: pack.hpp:1138
void operator()(msgpack::object::with_zone &o, const std::unique_ptr< T > &v) const
Definition: unique_ptr.hpp:68
Definition: adaptor_base.hpp:29