10 #ifndef MSGPACK_V1_CPP_CONFIG_HPP
11 #define MSGPACK_V1_CPP_CONFIG_HPP
15 #if defined(MSGPACK_USE_CPP03)
24 struct unique_ptr : std::auto_ptr<T> {
25 explicit unique_ptr(T* p = 0) throw() : std::auto_ptr<T>(p) {}
26 unique_ptr(unique_ptr& a)
throw() : std::auto_ptr<T>(a) {}
28 unique_ptr (unique_ptr<Y>& a)
throw() : std::auto_ptr<T>(a) {}
38 T
const&
move(T
const& t)
43 template <
bool P,
typename T>
49 struct enable_if<false, T> {
52 template<
typename T, T val>
53 struct integral_constant {
54 static T
const value = val;
56 typedef integral_constant<T, val> type;
59 typedef integral_constant<bool, true>
true_type;
60 typedef integral_constant<bool, false>
false_type;
62 template<
class T,
class U>
69 struct underlying_type {
79 template<
class T, std::
size_t N>
88 struct remove_const<const T> {
93 struct remove_volatile {
97 struct remove_volatile<volatile T> {
114 struct is_pointer_helper<T*> :
true_type {};
118 template<
class T>
struct is_pointer : detail::is_pointer_helper<typename remove_cv<T>::type> {};
127 #endif // MSGPACK_USE_CPP03
129 #if __cplusplus >= 201402L
130 #define MSGPACK_DEPRECATED(msg) [[deprecated(msg)]]
131 #else // __cplusplus >= 201402L
132 #define MSGPACK_DEPRECATED(msg)
133 #endif // __cplusplus >= 201402L
135 #endif // MSGPACK_V1_CPP_CONFIG_HPP