mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-10-15 15:16:51 +02:00
Added no default constructible classes support.
This commit is contained in:
@@ -510,6 +510,8 @@ inline T* object::convert(T* v) const
|
||||
return v;
|
||||
}
|
||||
|
||||
#if defined(MSGPACK_USE_CPP03)
|
||||
|
||||
template <typename T>
|
||||
inline T object::as() const
|
||||
{
|
||||
@@ -518,6 +520,21 @@ inline T object::as() const
|
||||
return v;
|
||||
}
|
||||
|
||||
#else // defined(MSGPACK_USE_CPP03)
|
||||
|
||||
template <typename T>
|
||||
inline typename std::enable_if<msgpack::has_as<T>::value, T>::type object::as() const {
|
||||
return msgpack::adaptor::as<T>()(*this);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
inline typename std::enable_if<!msgpack::has_as<T>::value, T>::type object::as() const {
|
||||
T v;
|
||||
convert(v);
|
||||
return v;
|
||||
}
|
||||
|
||||
#endif // defined(MSGPACK_USE_CPP03)
|
||||
|
||||
inline object::object()
|
||||
{
|
||||
|
Reference in New Issue
Block a user