meta_decl.hpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. #ifndef MSGPACK_V1_META_DECL_HPP
  11. #define MSGPACK_V1_META_DECL_HPP
  12. #if !defined(MSGPACK_USE_CPP03)
  13. #include "msgpack/versioning.hpp"
  14. #include <type_traits>
  15. namespace msgpack {
  16. /// @cond
  17. MSGPACK_API_VERSION_NAMESPACE(v1) {
  18. /// @endcond
  19. namespace detail {
  20. template<bool...> struct bool_pack;
  21. template<bool...values> struct all_of_imp;
  22. template<bool...values> struct any_of_imp;
  23. } // namespace detail
  24. template<template <class> class T, class... U>
  25. using all_of = detail::all_of_imp<T<U>::value...>;
  26. template<template <class> class T, class... U>
  27. using any_of = detail::any_of_imp<(T<U>::value)...>;
  28. template<std::size_t... Is> struct seq;
  29. template<std::size_t N, std::size_t... Is>
  30. struct gen_seq;
  31. template <typename T>
  32. struct is_non_const_pointer;
  33. /// @cond
  34. } // MSGPACK_API_VERSION_NAMESPACE(v1)
  35. /// @endcond
  36. } // namespace msgpack
  37. #endif // !defined(MSGPACK_USE_CPP03)
  38. #endif // MSGPACK_V1_META_DECL_HPP