#ifndef SPROUT_TPP_ALGORITHM_HPP #define SPROUT_TPP_ALGORITHM_HPP #include #include namespace sprout { namespace tpp { namespace detail { template struct all_of_impl; template<> struct all_of_impl : public std::true_type {}; template<> struct all_of_impl : public std::false_type {}; template struct all_of_impl : public std::integral_constant::value> {}; template struct all_of_impl : public std::false_type {}; } // namespace detail // // all_of // template struct all_of : public sprout::tpp::detail::all_of_impl {}; namespace detail { template struct any_of_impl; template<> struct any_of_impl : public std::true_type {}; template<> struct any_of_impl : public std::false_type {}; template struct any_of_impl : public std::true_type {}; template struct any_of_impl : public std::integral_constant::value> {}; } // namespace detail // // any_of // template struct any_of : public sprout::tpp::detail::any_of_impl {}; namespace detail { template struct none_of_impl; template<> struct none_of_impl : public std::false_type {}; template<> struct none_of_impl : public std::true_type {}; template struct none_of_impl : public std::false_type {}; template struct none_of_impl : public std::integral_constant::value> {}; } // namespace detail // // none_of // template struct none_of : public sprout::tpp::detail::none_of_impl {}; } // namespace tpp } // namespace sprout #endif // #ifndef SPROUT_TPP_ALGORITHM_HPP