]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/hana/test/experimental/view/transformed/drop_front.cpp
8e1df7bc73738aab82f65e734ce27fd898aafaa5
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/drop_front.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
;
19 auto f
= hana::test::_injection
<0>{};
22 auto storage
= container();
23 auto transformed
= hana::experimental::transformed(storage
, f
);
24 BOOST_HANA_CONSTANT_CHECK(hana::equal(
25 hana::drop_front(transformed
, hana::size_c
<0>),
31 auto storage
= container(ct_eq
<0>{});
32 auto transformed
= hana::experimental::transformed(storage
, f
);
33 BOOST_HANA_CONSTANT_CHECK(hana::equal(
34 hana::drop_front(transformed
, hana::size_c
<0>),
35 container(f(ct_eq
<0>{}))
38 auto storage
= container(ct_eq
<0>{});
39 auto transformed
= hana::experimental::transformed(storage
, f
);
40 BOOST_HANA_CONSTANT_CHECK(hana::equal(
41 hana::drop_front(transformed
, hana::size_c
<1>),
47 auto storage
= container(ct_eq
<0>{}, ct_eq
<1>{});
48 auto transformed
= hana::experimental::transformed(storage
, f
);
49 BOOST_HANA_CONSTANT_CHECK(hana::equal(
50 hana::drop_front(transformed
, hana::size_c
<0>),
51 container(f(ct_eq
<0>{}), f(ct_eq
<1>{}))
54 auto storage
= container(ct_eq
<0>{}, ct_eq
<1>{});
55 auto transformed
= hana::experimental::transformed(storage
, f
);
56 BOOST_HANA_CONSTANT_CHECK(hana::equal(
57 hana::drop_front(transformed
, hana::size_c
<1>),
58 container(f(ct_eq
<1>{}))
61 auto storage
= container(ct_eq
<0>{}, ct_eq
<1>{});
62 auto transformed
= hana::experimental::transformed(storage
, f
);
63 BOOST_HANA_CONSTANT_CHECK(hana::equal(
64 hana::drop_front(transformed
, hana::size_c
<2>),
70 auto storage
= container(ct_eq
<0>{}, ct_eq
<1>{}, ct_eq
<2>{});
71 auto transformed
= hana::experimental::transformed(storage
, f
);
72 BOOST_HANA_CONSTANT_CHECK(hana::equal(
73 hana::drop_front(transformed
, hana::size_c
<0>),
74 container(f(ct_eq
<0>{}), f(ct_eq
<1>{}), f(ct_eq
<2>{}))
77 auto storage
= container(ct_eq
<0>{}, ct_eq
<1>{}, ct_eq
<2>{});
78 auto transformed
= hana::experimental::transformed(storage
, f
);
79 BOOST_HANA_CONSTANT_CHECK(hana::equal(
80 hana::drop_front(transformed
, hana::size_c
<1>),
81 container(f(ct_eq
<1>{}), f(ct_eq
<2>{}))
84 auto storage
= container(ct_eq
<0>{}, ct_eq
<1>{}, ct_eq
<2>{});
85 auto transformed
= hana::experimental::transformed(storage
, f
);
86 BOOST_HANA_CONSTANT_CHECK(hana::equal(
87 hana::drop_front(transformed
, hana::size_c
<2>),
88 container(f(ct_eq
<2>{}))
91 auto storage
= container(ct_eq
<0>{}, ct_eq
<1>{}, ct_eq
<2>{});
92 auto transformed
= hana::experimental::transformed(storage
, f
);
93 BOOST_HANA_CONSTANT_CHECK(hana::equal(
94 hana::drop_front(transformed
, hana::size_c
<3>),