diff options
author | Andrej Rode <andrej.rode@ettus.com> | 2017-04-03 18:49:58 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2017-12-22 15:03:45 -0800 |
commit | 53795c74aead4e6021bc788b788f8ed5b4a0166d (patch) | |
tree | 45e4075f3d8ffdee7dff7c72dd665f5c5b0c746c /host/lib/deps/rpclib/include/rpc/msgpack/cpp_config.hpp | |
parent | 6a12add1560545438e1bebc05efbafd05aace4f9 (diff) | |
download | uhd-53795c74aead4e6021bc788b788f8ed5b4a0166d.tar.gz uhd-53795c74aead4e6021bc788b788f8ed5b4a0166d.tar.bz2 uhd-53795c74aead4e6021bc788b788f8ed5b4a0166d.zip |
uhd: add cut-down rpclib source tree and import tool
Diffstat (limited to 'host/lib/deps/rpclib/include/rpc/msgpack/cpp_config.hpp')
-rw-r--r-- | host/lib/deps/rpclib/include/rpc/msgpack/cpp_config.hpp | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/host/lib/deps/rpclib/include/rpc/msgpack/cpp_config.hpp b/host/lib/deps/rpclib/include/rpc/msgpack/cpp_config.hpp new file mode 100644 index 000000000..9836ba47f --- /dev/null +++ b/host/lib/deps/rpclib/include/rpc/msgpack/cpp_config.hpp @@ -0,0 +1,135 @@ +// +// MessagePack for C++ C++03/C++11 Adaptation +// +// Copyright (C) 2013 KONDO Takatoshi +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#ifndef MSGPACK_CPP_CONFIG_HPP +#define MSGPACK_CPP_CONFIG_HPP + +#include "rpc/msgpack/versioning.hpp" + +#if !defined(MSGPACK_USE_CPP03) +# if defined(_MSC_VER) +# if _MSC_VER < 1900 +# define MSGPACK_USE_CPP03 +# endif +# elif (__cplusplus < 201103L) +# define MSGPACK_USE_CPP03 +# endif +#endif // MSGPACK_USE_CPP03 + + + +#if defined __cplusplus +#if __cplusplus < 201103L + +#if !defined(nullptr) +# if _MSC_VER < 1600 +# define nullptr (0) +# endif +#endif + +#include <memory> + +namespace clmdep_msgpack { + +/// @cond +MSGPACK_API_VERSION_NAMESPACE(v1) { +/// @endcond + +template <typename T> +struct unique_ptr : std::auto_ptr<T> { + explicit unique_ptr(T* p = 0) throw() : std::auto_ptr<T>(p) {} + unique_ptr(unique_ptr& a) throw() : std::auto_ptr<T>(a) {} + template<class Y> + unique_ptr (unique_ptr<Y>& a) throw() : std::auto_ptr<T>(a) {} +}; + +template <typename T> +T& move(T& t) +{ + return t; +} + +template <typename T> +T const& move(T const& t) +{ + return t; +} + +template <bool P, typename T = void> +struct enable_if { + typedef T type; +}; + +template <typename T> +struct enable_if<false, T> { +}; + +template<typename T, T val> +struct integral_constant { + static T const value = val; + typedef T value_type; + typedef integral_constant<T, val> type; +}; + +typedef integral_constant<bool, true> true_type; +typedef integral_constant<bool, false> false_type; + +template<class T, class U> +struct is_same : false_type {}; + +template<class T> +struct is_same<T, T> : true_type {}; + +/// @cond +} // MSGPACK_API_VERSION_NAMESPACE(v1) +/// @endcond + +} // namespace clmdep_msgpack + + +#else // __cplusplus < 201103L + +#include <memory> +#include <tuple> + +namespace clmdep_msgpack { +/// @cond +MSGPACK_API_VERSION_NAMESPACE(v1) { +/// @endcond + + // unique_ptr + using std::unique_ptr; + // using std::make_unique; // since C++14 + using std::hash; + + // utility + using std::move; + using std::swap; + using std::enable_if; + using std::is_same; + +/// @cond +} // MSGPACK_API_VERSION_NAMESPACE(v1) +/// @endcond +} // namespace clmdep_msgpack + + +#endif // __cplusplus < 201103L + +#endif // __cplusplus + +#endif /* msgpack/cpp_config.hpp */ |