1
0
Fork 0
mirror of https://github.com/bolero-MURAKAMI/Sprout synced 2025-08-03 12:49:50 +00:00

all type_traits support C++14 requirements

This commit is contained in:
bolero-MURAKAMI 2013-11-22 21:11:08 +09:00
parent bf0c7021cf
commit 403e83eaf0
95 changed files with 319 additions and 268 deletions

View file

@ -10,6 +10,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/type_traits/integral_constant.hpp>
#include <sprout/weed/traits/type/is_tuple.hpp>
namespace sprout {
@ -17,7 +18,7 @@ namespace sprout {
namespace detail {
template<typename T, typename U, typename = void>
struct is_both_tuple
: public std::false_type
: public sprout::false_type
{};
template<typename T, typename U>
struct is_both_tuple<
@ -28,7 +29,7 @@ namespace sprout {
&& sprout::weed::traits::is_tuple<U>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
} // namespace detail
} // namespace weed

View file

@ -10,6 +10,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/type_traits/integral_constant.hpp>
#include <sprout/weed/traits/type/is_unused.hpp>
namespace sprout {
@ -17,7 +18,7 @@ namespace sprout {
namespace detail {
template<typename T, typename U, typename = void>
struct is_both_unused
: public std::false_type
: public sprout::false_type
{};
template<typename T, typename U>
struct is_both_unused<
@ -28,7 +29,7 @@ namespace sprout {
&& sprout::weed::traits::is_unused<U>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
} // namespace detail
} // namespace weed

View file

@ -10,6 +10,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/type_traits/integral_constant.hpp>
#include <sprout/weed/traits/type/is_container.hpp>
namespace sprout {
@ -17,7 +18,7 @@ namespace sprout {
namespace detail {
template<typename T, typename U, typename = void>
struct is_container_and_elem
: public std::false_type
: public sprout::false_type
{};
template<typename T, typename U>
struct is_container_and_elem<
@ -31,7 +32,7 @@ namespace sprout {
>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
} // namespace detail
} // namespace weed

View file

@ -10,6 +10,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/type_traits/integral_constant.hpp>
#include <sprout/weed/traits/type/is_unused.hpp>
#include <sprout/weed/detail/is_same_container.hpp>
#include <sprout/weed/detail/is_container_and_elem.hpp>
@ -23,7 +24,7 @@ namespace sprout {
namespace detail {
template<typename T, typename U, typename = void>
struct is_different_elem
: public std::false_type
: public sprout::false_type
{};
template<typename T, typename U>
struct is_different_elem<
@ -41,7 +42,7 @@ namespace sprout {
&& !sprout::weed::traits::is_unused<U>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
} // namespace detail
} // namespace weed

View file

@ -10,6 +10,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/type_traits/integral_constant.hpp>
#include <sprout/weed/traits/type/is_container.hpp>
namespace sprout {
@ -17,7 +18,7 @@ namespace sprout {
namespace detail {
template<typename T, typename U, typename = void>
struct is_elem_and_container
: public std::false_type
: public sprout::false_type
{};
template<typename T, typename U>
struct is_elem_and_container<
@ -31,7 +32,7 @@ namespace sprout {
>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
} // namespace detail
} // namespace weed

View file

@ -10,6 +10,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/type_traits/integral_constant.hpp>
#include <sprout/weed/traits/type/is_tuple.hpp>
#include <sprout/weed/traits/type/is_unused.hpp>
@ -18,7 +19,7 @@ namespace sprout {
namespace detail {
template<typename T, typename U, typename = void>
struct is_elem_and_tuple
: public std::false_type
: public sprout::false_type
{};
template<typename T, typename U>
struct is_elem_and_tuple<
@ -30,7 +31,7 @@ namespace sprout {
&& sprout::weed::traits::is_tuple<U>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
} // namespace detail
} // namespace weed

View file

@ -10,6 +10,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/type_traits/integral_constant.hpp>
#include <sprout/weed/traits/type/is_unused.hpp>
namespace sprout {
@ -17,7 +18,7 @@ namespace sprout {
namespace detail {
template<typename T, typename U, typename = void>
struct is_elem_and_unused
: public std::false_type
: public sprout::false_type
{};
template<typename T, typename U>
struct is_elem_and_unused<
@ -28,7 +29,7 @@ namespace sprout {
&& sprout::weed::traits::is_unused<U>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
} // namespace detail
} // namespace weed

View file

@ -10,6 +10,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/type_traits/integral_constant.hpp>
#include <sprout/weed/traits/type/is_container.hpp>
namespace sprout {
@ -17,7 +18,7 @@ namespace sprout {
namespace detail {
template<typename T, typename U, typename = void>
struct is_same_container
: public std::false_type
: public sprout::false_type
{};
template<typename T, typename U>
struct is_same_container<
@ -32,7 +33,7 @@ namespace sprout {
>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
} // namespace detail
} // namespace weed

View file

@ -10,6 +10,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/type_traits/integral_constant.hpp>
#include <sprout/weed/traits/type/is_unused.hpp>
#include <sprout/weed/detail/is_same_container.hpp>
#include <sprout/weed/detail/is_container_and_elem.hpp>
@ -23,7 +24,7 @@ namespace sprout {
namespace detail {
template<typename T, typename U, typename = void>
struct is_same_elem
: public std::false_type
: public sprout::false_type
{};
template<typename T, typename U>
struct is_same_elem<
@ -41,7 +42,7 @@ namespace sprout {
&& !sprout::weed::traits::is_unused<U>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
} // namespace detail
} // namespace weed

View file

@ -10,6 +10,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/type_traits/integral_constant.hpp>
#include <sprout/weed/traits/type/is_tuple.hpp>
#include <sprout/weed/traits/type/is_unused.hpp>
@ -18,7 +19,7 @@ namespace sprout {
namespace detail {
template<typename T, typename U, typename = void>
struct is_tuple_and_elem
: public std::false_type
: public sprout::false_type
{};
template<typename T, typename U>
struct is_tuple_and_elem<
@ -30,7 +31,7 @@ namespace sprout {
&& !sprout::weed::traits::is_unused<U>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
} // namespace detail
} // namespace weed

View file

@ -10,6 +10,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/type_traits/integral_constant.hpp>
#include <sprout/weed/traits/type/is_unused.hpp>
namespace sprout {
@ -17,7 +18,7 @@ namespace sprout {
namespace detail {
template<typename T, typename U, typename = void>
struct is_unused_and_elem
: public std::false_type
: public sprout::false_type
{};
template<typename T, typename U>
struct is_unused_and_elem<
@ -28,7 +29,7 @@ namespace sprout {
&& !sprout::weed::traits::is_unused<U>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
} // namespace detail
} // namespace weed