#ifndef SPROUT_TPP_ALGORITHM_ALL_OF_HPP #define SPROUT_TPP_ALGORITHM_ALL_OF_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::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_c // template struct all_of_c : public sprout::tpp::detail::all_of_impl {}; // // all_of // template struct all_of : public sprout::tpp::all_of_c {}; } // namespace tpp } // namespace sprout #endif // #ifndef SPROUT_TPP_ALGORITHM_ALL_OF_HPP