]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/hana/test/experimental/types/at.cpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / hana / test / experimental / types / at.cpp
1 // Copyright Louis Dionne 2013-2016
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)
4
5 #include <boost/hana/assert.hpp>
6 #include <boost/hana/at.hpp>
7 #include <boost/hana/equal.hpp>
8 #include <boost/hana/experimental/types.hpp>
9 #include <boost/hana/type.hpp>
10 namespace hana = boost::hana;
11
12
13 template <int> struct x;
14
15 int main() {
16 BOOST_HANA_CONSTANT_CHECK(hana::equal(
17 hana::at_c<0>(hana::experimental::types<x<0>>{}),
18 hana::type_c<x<0>>
19 ));
20
21 BOOST_HANA_CONSTANT_CHECK(hana::equal(
22 hana::at_c<0>(hana::experimental::types<x<0>, x<1>>{}),
23 hana::type_c<x<0>>
24 ));
25 BOOST_HANA_CONSTANT_CHECK(hana::equal(
26 hana::at_c<1>(hana::experimental::types<x<0>, x<1>>{}),
27 hana::type_c<x<1>>
28 ));
29
30 BOOST_HANA_CONSTANT_CHECK(hana::equal(
31 hana::at_c<0>(hana::experimental::types<x<0>, x<1>, x<2>>{}),
32 hana::type_c<x<0>>
33 ));
34 BOOST_HANA_CONSTANT_CHECK(hana::equal(
35 hana::at_c<1>(hana::experimental::types<x<0>, x<1>, x<2>>{}),
36 hana::type_c<x<1>>
37 ));
38 BOOST_HANA_CONSTANT_CHECK(hana::equal(
39 hana::at_c<2>(hana::experimental::types<x<0>, x<1>, x<2>>{}),
40 hana::type_c<x<2>>
41 ));
42
43 BOOST_HANA_CONSTANT_CHECK(hana::equal(
44 hana::at_c<0>(hana::experimental::types<x<0>, x<1>, x<2>, x<3>>{}),
45 hana::type_c<x<0>>
46 ));
47 BOOST_HANA_CONSTANT_CHECK(hana::equal(
48 hana::at_c<1>(hana::experimental::types<x<0>, x<1>, x<2>, x<3>>{}),
49 hana::type_c<x<1>>
50 ));
51 BOOST_HANA_CONSTANT_CHECK(hana::equal(
52 hana::at_c<2>(hana::experimental::types<x<0>, x<1>, x<2>, x<3>>{}),
53 hana::type_c<x<2>>
54 ));
55 BOOST_HANA_CONSTANT_CHECK(hana::equal(
56 hana::at_c<3>(hana::experimental::types<x<0>, x<1>, x<2>, x<3>>{}),
57 hana::type_c<x<3>>
58 ));
59
60 BOOST_HANA_CONSTANT_CHECK(hana::equal(
61 hana::at_c<0>(hana::experimental::types<x<0>, x<1>, x<2>, x<3>, x<4>>{}),
62 hana::type_c<x<0>>
63 ));
64 BOOST_HANA_CONSTANT_CHECK(hana::equal(
65 hana::at_c<1>(hana::experimental::types<x<0>, x<1>, x<2>, x<3>, x<4>>{}),
66 hana::type_c<x<1>>
67 ));
68 BOOST_HANA_CONSTANT_CHECK(hana::equal(
69 hana::at_c<2>(hana::experimental::types<x<0>, x<1>, x<2>, x<3>, x<4>>{}),
70 hana::type_c<x<2>>
71 ));
72 BOOST_HANA_CONSTANT_CHECK(hana::equal(
73 hana::at_c<3>(hana::experimental::types<x<0>, x<1>, x<2>, x<3>, x<4>>{}),
74 hana::type_c<x<3>>
75 ));
76 BOOST_HANA_CONSTANT_CHECK(hana::equal(
77 hana::at_c<4>(hana::experimental::types<x<0>, x<1>, x<2>, x<3>, x<4>>{}),
78 hana::type_c<x<4>>
79 ));
80 }