File indexing completed on 2024-11-16 09:16:01
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef BOOST_HANA_DETAIL_ANY_OF_HPP
0011 #define BOOST_HANA_DETAIL_ANY_OF_HPP
0012
0013 #include <boost/hana/config.hpp>
0014
0015 #include <type_traits>
0016 #include <utility>
0017
0018
0019 namespace boost { namespace hana { namespace detail {
0020 std::false_type expand(...);
0021
0022 template <template <typename ...> class Predicate, typename ...T>
0023 decltype(expand(
0024 typename std::enable_if<!Predicate<T>::value, void*>::type{}...
0025 )) any_of_impl(int);
0026
0027 template <template <typename ...> class Predicate, typename ...T>
0028 std::true_type any_of_impl(...);
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040 template <template <typename ...> class Predicate, typename ...T>
0041 struct any_of
0042 : decltype(any_of_impl<Predicate, T...>(int{}))
0043 { };
0044 } }}
0045
0046 #endif