1 // 2 // MessagePack for C++ static resolution routine 3 // 4 // Copyright (C) 2015-2016 KONDO Takatoshi 5 // 6 // Distributed under the Boost Software License, Version 1.0. 7 // (See accompanying file LICENSE_1_0.txt or copy at 8 // http://www.boost.org/LICENSE_1_0.txt) 9 // 10 11 #ifndef MSGPACK_V1_META_DECL_HPP 12 #define MSGPACK_V1_META_DECL_HPP 13 14 #if !defined(MSGPACK_USE_CPP03) 15 16 #include "msgpack/versioning.hpp" 17 #include <type_traits> 18 19 namespace msgpack { 20 21 /// @cond MSGPACK_API_VERSION_NAMESPACE(v1)22MSGPACK_API_VERSION_NAMESPACE(v1) { 23 /// @endcond 24 25 namespace detail { 26 27 template<bool...> struct bool_pack; 28 29 template<bool...values> struct all_of_imp; 30 31 template<bool...values> struct any_of_imp; 32 33 } // namespace detail 34 35 template<template <class> class T, class... U> 36 using all_of = detail::all_of_imp<T<U>::value...>; 37 38 template<template <class> class T, class... U> 39 using any_of = detail::any_of_imp<(T<U>::value)...>; 40 41 template<std::size_t... Is> struct seq; 42 43 template<std::size_t N, std::size_t... Is> 44 struct gen_seq; 45 46 template <typename T> 47 struct is_non_const_pointer; 48 49 /// @cond 50 } // MSGPACK_API_VERSION_NAMESPACE(v1) 51 /// @endcond 52 53 } // namespace msgpack 54 55 #endif // !defined(MSGPACK_USE_CPP03) 56 57 #endif // MSGPACK_V1_META_DECL_HPP 58