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

add variadic assert macro

This commit is contained in:
bolero-MURAKAMI 2014-07-03 23:18:11 +09:00
parent 15c3f55ebb
commit 23be867d87
7 changed files with 307 additions and 93 deletions

View file

@ -34,12 +34,25 @@ namespace sprout {
&& sprout::has_second_argument_type<Fn>::value
>
{};
//
// is_strict_function
//
template<typename Fn>
struct is_strict_function
: public sprout::integral_constant<
bool,
sprout::is_strict_unary_function<Fn>::value
|| sprout::is_strict_binary_function<Fn>::value
>
{};
#if SPROUT_USE_VARIABLE_TEMPLATES
template<typename T>
SPROUT_STATIC_CONSTEXPR bool is_strict_unary_function_v = sprout::is_strict_unary_function<T>::value;
template<typename T>
SPROUT_STATIC_CONSTEXPR bool is_strict_binary_function_v = sprout::is_strict_binary_function<T>::value;
template<typename T>
SPROUT_STATIC_CONSTEXPR bool is_strict_function_v = sprout::is_strict_function<T>::value;
#endif // #if SPROUT_USE_VARIABLE_TEMPLATES
} // namespace sprout