]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/hana/test/detail/any_of.cpp
1 // Copyright Louis Dionne 2013-2017
2 // Distributed under the Boost Software License, Version 1.0.
3 // (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
5 #include <boost/hana/detail/any_of.hpp>
6 #include <boost/hana/detail/wrong.hpp>
7 #include <boost/hana/integral_constant.hpp>
8 namespace hana
= boost::hana
;
13 static constexpr bool value
= I::value
% 2 == 0;
17 static_assert(!hana::detail::any_of
<is_even
>::value
, "");
18 static_assert(!hana::detail::any_of
<is_even
, hana::int_
<1>>::value
, "");
19 static_assert(!hana::detail::any_of
<is_even
, hana::int_
<1>, hana::int_
<3>>::value
, "");
20 static_assert(!hana::detail::any_of
<is_even
, hana::int_
<1>, hana::int_
<3>, hana::int_
<5>>::value
, "");
21 static_assert(!hana::detail::any_of
<is_even
, hana::int_
<1>, hana::int_
<3>, hana::int_
<5>, hana::int_
<7>>::value
, "");
23 static_assert(hana::detail::any_of
<is_even
, hana::int_
<0>>::value
, "");
24 static_assert(hana::detail::any_of
<is_even
, hana::int_
<0>, hana::int_
<2>>::value
, "");
25 static_assert(hana::detail::any_of
<is_even
, hana::int_
<0>, hana::int_
<2>, hana::int_
<4>>::value
, "");
26 static_assert(hana::detail::any_of
<is_even
, hana::int_
<0>, hana::int_
<2>, hana::int_
<4>, hana::int_
<6>>::value
, "");
28 static_assert(hana::detail::any_of
<is_even
, hana::int_
<0>, hana::int_
<1>>::value
, "");
29 static_assert(hana::detail::any_of
<is_even
, hana::int_
<0>, hana::int_
<1>, hana::int_
<2>>::value
, "");
30 static_assert(hana::detail::any_of
<is_even
, hana::int_
<0>, hana::int_
<1>, hana::int_
<2>, hana::int_
<3>>::value
, "");
31 static_assert(hana::detail::any_of
<is_even
, hana::int_
<0>, hana::int_
<1>, hana::int_
<2>, hana::int_
<3>, hana::int_
<4>>::value
, "");
32 static_assert(hana::detail::any_of
<is_even
, hana::int_
<1>, hana::int_
<3>, hana::int_
<5>, hana::int_
<8>>::value
, "");
33 static_assert(hana::detail::any_of
<is_even
, hana::int_
<1>, hana::int_
<8>, hana::int_
<5>, hana::int_
<7>>::value
, "");
35 // Make sure we short-circuit properly
36 template <typename
...Dummy
>
38 static_assert(hana::detail::wrong
<Dummy
...>::value
,
39 "this must never be instantiated");
41 static_assert(hana::detail::any_of
<is_even
, hana::int_
<1>, hana::int_
<2>, fail
<>>::value
, "");
42 static_assert(hana::detail::any_of
<is_even
, hana::int_
<1>, hana::int_
<2>, fail
<>, hana::int_
<3>>::value
, "");
43 static_assert(hana::detail::any_of
<is_even
, hana::int_
<1>, hana::int_
<2>, fail
<>, hana::int_
<4>>::value
, "");