12 #ifndef BOOST_MPL11_DETAIL_COUNT_IF_VARIADIC_SIZEOF_HPP
13 #define BOOST_MPL11_DETAIL_COUNT_IF_VARIADIC_SIZEOF_HPP
20 namespace boost {
namespace mpl11 {
namespace detail {
namespace count_if {
21 template <std_
size_t,
bool>
struct count_helper { };
22 template <std_
size_t n>
struct count_helper<n, true> {
char c[10]; };
25 template <
typename ...>
class pred,
31 template <
typename ...>
class pred,
34 struct sizeof_impl<pred, std_index_sequence<index...>, xs...>
35 : count_helper<index, (bool)pred<xs>::type::value>...
43 template <
template <
typename ...>
class predicate,
typename ...xs>
44 using variadic_sizeof =
size_t<
sizeof...(xs) == 0 ? 0 :
48 typename make_std_index_sequence<
sizeof...(xs)>::type,
51 ) /
sizeof(count_helper<0, true>)
55 #endif // !BOOST_MPL11_DETAIL_COUNT_IF_VARIADIC_SIZEOF_HPP
Defines the Integer datatype.
Defines boost::mpl11::detail::std_size_t.
Defines boost::mpl11::detail::std_index_sequence.