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:
parent
bf0c7021cf
commit
403e83eaf0
95 changed files with 319 additions and 268 deletions
|
@ -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
|
||||
|
|
|
@ -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<
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue