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/expr/expr_fwd.hpp>
namespace sprout {
@ -20,7 +21,7 @@ namespace sprout {
//
template<typename T>
struct is_expr
: public std::false_type
: public sprout::false_type
{};
template<typename T>
struct is_expr<T const>
@ -36,7 +37,7 @@ namespace sprout {
{};
template<typename Tag, typename... Args>
struct is_expr<sprout::weed::expr<Tag, Args...> >
: public std::true_type
: public sprout::true_type
{};
} // namespace traits
} // 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/unused.hpp>
#include <sprout/weed/parser/parser_base.hpp>
#include <sprout/weed/traits/type/is_char_type.hpp>
@ -32,7 +33,7 @@ namespace sprout {
&& !std::is_const<T>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
template<typename T>
struct is_parser<
@ -42,7 +43,7 @@ namespace sprout {
&& !std::is_const<T>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
template<typename T>
struct is_parser<
@ -52,7 +53,7 @@ namespace sprout {
&& !std::is_const<T>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
template<typename T>
struct is_parser<
@ -62,7 +63,7 @@ namespace sprout {
&& !std::is_const<T>::value
>::type
>
: public std::true_type
: public sprout::true_type
{};
template<typename T>
struct is_parser<

View file

@ -9,8 +9,8 @@
#define SPROUT_WEED_TRAITS_PARSER_LIMIT_OF_HPP
#include <cstddef>
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/type_traits/integral_constant.hpp>
#include <sprout/weed/expr/expr.hpp>
#include <sprout/weed/expr/tag.hpp>
@ -22,7 +22,7 @@ namespace sprout {
//
template<typename T, typename Iterator, typename Context, typename = void>
struct limit_of
: public std::integral_constant<std::size_t, static_cast<std::size_t>(-1)>
: public sprout::integral_constant<std::size_t, static_cast<std::size_t>(-1)>
{};
template<typename T, typename Iterator, typename Context>
struct limit_of<T const, Iterator, Context>

View file

@ -12,6 +12,7 @@
#include <sprout/config.hpp>
#include <sprout/string.hpp>
#include <sprout/array/array.hpp>
#include <sprout/type_traits/integral_constant.hpp>
namespace sprout {
namespace weed {
@ -21,7 +22,7 @@ namespace sprout {
//
template<typename T>
struct is_container
: public std::false_type
: public sprout::false_type
{};
template<typename T>
struct is_container<T const>
@ -37,11 +38,11 @@ namespace sprout {
{};
template<typename T, std::size_t N>
struct is_container<sprout::array<T, N> >
: public std::true_type
: public sprout::true_type
{};
template<typename T, std::size_t N, typename Traits>
struct is_container<sprout::basic_string<T, N, Traits> >
: public std::true_type
: public sprout::true_type
{};
} // namespace traits
} // namespace weed

View file

@ -11,6 +11,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/string.hpp>
#include <sprout/type_traits/integral_constant.hpp>
namespace sprout {
namespace weed {
@ -20,7 +21,7 @@ namespace sprout {
//
template<typename T>
struct is_string
: public std::false_type
: public sprout::false_type
{};
template<typename T>
struct is_string<T const>
@ -36,7 +37,7 @@ namespace sprout {
{};
template<typename T, std::size_t N, typename Traits>
struct is_string<sprout::basic_string<T, N, Traits> >
: public std::true_type
: public sprout::true_type
{};
} // namespace traits
} // namespace weed

View file

@ -11,6 +11,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/tuple/tuple.hpp>
#include <sprout/type_traits/integral_constant.hpp>
namespace sprout {
namespace weed {
@ -20,7 +21,7 @@ namespace sprout {
//
template<typename T>
struct is_tuple
: public std::false_type
: public sprout::false_type
{};
template<typename T>
struct is_tuple<T const>
@ -36,7 +37,7 @@ namespace sprout {
{};
template<typename... Types>
struct is_tuple<sprout::tuples::tuple<Types...> >
: public std::true_type
: public sprout::true_type
{};
} // namespace traits
} // 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/unused.hpp>
namespace sprout {
@ -20,7 +21,7 @@ namespace sprout {
//
template<typename T>
struct is_unused
: public std::false_type
: public sprout::false_type
{};
template<typename T>
struct is_unused<T const>
@ -36,7 +37,7 @@ namespace sprout {
{};
template<>
struct is_unused<sprout::weed::unused>
: public std::true_type
: public sprout::true_type
{};
} // namespace traits
} // namespace weed