// Copyright Louis Dionne 2013-2016 // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) #include #include #include #include #include #include #include #include #include #include namespace hana = boost::hana; using namespace hana::literals; auto is_odd = [](auto x) { return x % 2_c != 0_c; }; int main() { constexpr auto ints = hana::tuple_c; BOOST_HANA_CONSTANT_CHECK(hana::count_if(ints, is_odd) == hana::size_c<2>); constexpr auto types = hana::tuple_t; BOOST_HANA_CONSTANT_CHECK(hana::count_if(types, hana::trait) == hana::size_c<1>); BOOST_HANA_CONSTANT_CHECK(hana::count_if(types, hana::equal.to(hana::type_c)) == hana::size_c<2>); BOOST_HANA_CONSTANT_CHECK(hana::count_if(types, hana::equal.to(hana::type_c)) == hana::size_c<0>); }