]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/hana/test/detail/type_foldr1.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/type_foldr1.hpp>
8 namespace hana
= boost::hana
;
11 template <typename x
, typename state
>
19 static_assert(std::is_same
<
20 hana::detail::type_foldr1
<f
, x
<0>>::type
,
24 static_assert(std::is_same
<
25 hana::detail::type_foldr1
<f
, x
<0>, x
<1>>::type
,
29 static_assert(std::is_same
<
30 hana::detail::type_foldr1
<f
, x
<0>, x
<1>, x
<2>>::type
,
31 f
<x
<0>, f
<x
<1>, x
<2>>::type
>::type
34 static_assert(std::is_same
<
35 hana::detail::type_foldr1
<f
, x
<0>, x
<1>, x
<2>, x
<3>>::type
,
36 f
<x
<0>, f
<x
<1>, f
<x
<2>, x
<3>>::type
>::type
>::type
39 static_assert(std::is_same
<
40 hana::detail::type_foldr1
<f
, x
<0>, x
<1>, x
<2>, x
<3>, x
<4>>::type
,
41 f
<x
<0>, f
<x
<1>, f
<x
<2>, f
<x
<3>, x
<4>>::type
>::type
>::type
>::type
44 static_assert(std::is_same
<
45 hana::detail::type_foldr1
<f
, x
<0>, x
<1>, x
<2>, x
<3>, x
<4>, x
<5>>::type
,
46 f
<x
<0>, f
<x
<1>, f
<x
<2>, f
<x
<3>, f
<x
<4>, x
<5>>::type
>::type
>::type
>::type
>::type
49 static_assert(std::is_same
<
50 hana::detail::type_foldr1
<f
, x
<0>, x
<1>, x
<2>, x
<3>, x
<4>, x
<5>, x
<6>>::type
,
51 f
<x
<0>, f
<x
<1>, f
<x
<2>, f
<x
<3>, f
<x
<4>, f
<x
<5>, x
<6>>::type
>::type
>::type
>::type
>::type
>::type
54 static_assert(std::is_same
<
55 hana::detail::type_foldr1
<f
, x
<0>, x
<1>, x
<2>, x
<3>, x
<4>, x
<5>, x
<6>, x
<7>>::type
,
56 f
<x
<0>, f
<x
<1>, f
<x
<2>, f
<x
<3>, f
<x
<4>, f
<x
<5>, f
<x
<6>, x
<7>>::type
>::type
>::type
>::type
>::type
>::type
>::type
59 static_assert(std::is_same
<
60 hana::detail::type_foldr1
<f
, x
<0>, x
<1>, x
<2>, x
<3>, x
<4>, x
<5>, x
<6>, x
<7>, x
<8>>::type
,
61 f
<x
<0>, f
<x
<1>, f
<x
<2>, f
<x
<3>, f
<x
<4>, f
<x
<5>, f
<x
<6>, f
<x
<7>, x
<8>>::type
>::type
>::type
>::type
>::type
>::type
>::type
>::type