#ifndef SPROUT_TPP_ALGORITHM_ONE_OF_HPP #define SPROUT_TPP_ALGORITHM_ONE_OF_HPP #include #include #include namespace sprout { namespace tpp { namespace detail { template struct one_of_impl; template<> struct one_of_impl<> : public std::false_type {}; template<> struct one_of_impl : public std::true_type {}; template<> struct one_of_impl : public std::false_type {}; template struct one_of_impl : public sprout::tpp::none_of_c {}; template struct one_of_impl : public std::integral_constant::value> {}; } // namespace detail // // one_of_c // template struct one_of_c : public sprout::tpp::detail::one_of_impl {}; // // one_of // template struct one_of : public sprout::tpp::one_of_c {}; } // namespace tpp } // namespace sprout #endif // #ifndef SPROUT_TPP_ALGORITHM_ONE_OF_HPP