]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/hana/test/experimental/view/joined/at.cpp
d61e25d8619a9278554539a90b4e4d92dabece39
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)
5 #include <boost/hana/assert.hpp>
6 #include <boost/hana/at.hpp>
7 #include <boost/hana/equal.hpp>
8 #include <boost/hana/experimental/view.hpp>
9 #include <boost/hana/integral_constant.hpp>
11 #include <laws/base.hpp>
12 #include <support/seq.hpp>
13 namespace hana
= boost::hana
;
14 using hana::test::ct_eq
;
18 auto container
= ::seq
;
21 auto storage1
= container(ct_eq
<0>{});
22 auto storage2
= container();
23 auto joined
= hana::experimental::joined(storage1
, storage2
);
24 BOOST_HANA_CONSTANT_CHECK(hana::equal(
25 hana::at(joined
, hana::size_c
<0>),
29 auto storage1
= container();
30 auto storage2
= container(ct_eq
<0>{});
31 auto joined
= hana::experimental::joined(storage1
, storage2
);
32 BOOST_HANA_CONSTANT_CHECK(hana::equal(
33 hana::at(joined
, hana::size_c
<0>),
39 auto storage1
= container(ct_eq
<0>{}, ct_eq
<1>{});
40 auto storage2
= container();
41 auto joined
= hana::experimental::joined(storage1
, storage2
);
42 BOOST_HANA_CONSTANT_CHECK(hana::equal(
43 hana::at(joined
, hana::size_c
<0>),
46 BOOST_HANA_CONSTANT_CHECK(hana::equal(
47 hana::at(joined
, hana::size_c
<1>),
51 auto storage1
= container(ct_eq
<0>{});
52 auto storage2
= container(ct_eq
<1>{});
53 auto joined
= hana::experimental::joined(storage1
, storage2
);
54 BOOST_HANA_CONSTANT_CHECK(hana::equal(
55 hana::at(joined
, hana::size_c
<0>),
58 BOOST_HANA_CONSTANT_CHECK(hana::equal(
59 hana::at(joined
, hana::size_c
<1>),
63 auto storage1
= container();
64 auto storage2
= container(ct_eq
<0>{}, ct_eq
<1>{});
65 auto joined
= hana::experimental::joined(storage1
, storage2
);
66 BOOST_HANA_CONSTANT_CHECK(hana::equal(
67 hana::at(joined
, hana::size_c
<0>),
70 BOOST_HANA_CONSTANT_CHECK(hana::equal(
71 hana::at(joined
, hana::size_c
<1>),
77 auto storage1
= container(ct_eq
<0>{}, ct_eq
<1>{});
78 auto storage2
= container(ct_eq
<2>{}, ct_eq
<3>{});
79 auto joined
= hana::experimental::joined(storage1
, storage2
);
80 BOOST_HANA_CONSTANT_CHECK(hana::equal(
81 hana::at(joined
, hana::size_c
<0>),
84 BOOST_HANA_CONSTANT_CHECK(hana::equal(
85 hana::at(joined
, hana::size_c
<1>),
88 BOOST_HANA_CONSTANT_CHECK(hana::equal(
89 hana::at(joined
, hana::size_c
<2>),
92 BOOST_HANA_CONSTANT_CHECK(hana::equal(
93 hana::at(joined
, hana::size_c
<3>),