]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/hana/test/experimental/types/drop_front.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/assert.hpp>
6 #include <boost/hana/drop_front.hpp>
7 #include <boost/hana/equal.hpp>
8 #include <boost/hana/experimental/types.hpp>
9 #include <boost/hana/integral_constant.hpp>
10 namespace hana
= boost::hana
;
13 template <int> struct x
;
16 BOOST_HANA_CONSTANT_CHECK(hana::equal(
17 hana::drop_front(hana::experimental::types
<>{}, hana::size_c
<0>),
18 hana::experimental::types
<>{}
20 BOOST_HANA_CONSTANT_CHECK(hana::equal(
21 hana::drop_front(hana::experimental::types
<>{}, hana::size_c
<1>),
22 hana::experimental::types
<>{}
25 BOOST_HANA_CONSTANT_CHECK(hana::equal(
26 hana::drop_front(hana::experimental::types
<x
<0>>{}, hana::size_c
<0>),
27 hana::experimental::types
<x
<0>>{}
29 BOOST_HANA_CONSTANT_CHECK(hana::equal(
30 hana::drop_front(hana::experimental::types
<x
<0>>{}, hana::size_c
<1>),
31 hana::experimental::types
<>{}
33 BOOST_HANA_CONSTANT_CHECK(hana::equal(
34 hana::drop_front(hana::experimental::types
<x
<0>>{}, hana::size_c
<2>),
35 hana::experimental::types
<>{}
38 BOOST_HANA_CONSTANT_CHECK(hana::equal(
39 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>>{}, hana::size_c
<0>),
40 hana::experimental::types
<x
<0>, x
<1>>{}
42 BOOST_HANA_CONSTANT_CHECK(hana::equal(
43 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>>{}, hana::size_c
<1>),
44 hana::experimental::types
<x
<1>>{}
46 BOOST_HANA_CONSTANT_CHECK(hana::equal(
47 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>>{}, hana::size_c
<2>),
48 hana::experimental::types
<>{}
50 BOOST_HANA_CONSTANT_CHECK(hana::equal(
51 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>>{}, hana::size_c
<3>),
52 hana::experimental::types
<>{}
55 BOOST_HANA_CONSTANT_CHECK(hana::equal(
56 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>, x
<2>>{}, hana::size_c
<0>),
57 hana::experimental::types
<x
<0>, x
<1>, x
<2>>{}
59 BOOST_HANA_CONSTANT_CHECK(hana::equal(
60 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>, x
<2>>{}, hana::size_c
<1>),
61 hana::experimental::types
<x
<1>, x
<2>>{}
63 BOOST_HANA_CONSTANT_CHECK(hana::equal(
64 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>, x
<2>>{}, hana::size_c
<2>),
65 hana::experimental::types
<x
<2>>{}
67 BOOST_HANA_CONSTANT_CHECK(hana::equal(
68 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>, x
<2>>{}, hana::size_c
<3>),
69 hana::experimental::types
<>{}
71 BOOST_HANA_CONSTANT_CHECK(hana::equal(
72 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>, x
<2>>{}, hana::size_c
<4>),
73 hana::experimental::types
<>{}
76 BOOST_HANA_CONSTANT_CHECK(hana::equal(
77 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>, x
<2>, x
<3>>{}, hana::size_c
<0>),
78 hana::experimental::types
<x
<0>, x
<1>, x
<2>, x
<3>>{}
80 BOOST_HANA_CONSTANT_CHECK(hana::equal(
81 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>, x
<2>, x
<3>>{}, hana::size_c
<1>),
82 hana::experimental::types
<x
<1>, x
<2>, x
<3>>{}
84 BOOST_HANA_CONSTANT_CHECK(hana::equal(
85 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>, x
<2>, x
<3>>{}, hana::size_c
<2>),
86 hana::experimental::types
<x
<2>, x
<3>>{}
88 BOOST_HANA_CONSTANT_CHECK(hana::equal(
89 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>, x
<2>, x
<3>>{}, hana::size_c
<3>),
90 hana::experimental::types
<x
<3>>{}
92 BOOST_HANA_CONSTANT_CHECK(hana::equal(
93 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>, x
<2>, x
<3>>{}, hana::size_c
<4>),
94 hana::experimental::types
<>{}
96 BOOST_HANA_CONSTANT_CHECK(hana::equal(
97 hana::drop_front(hana::experimental::types
<x
<0>, x
<1>, x
<2>, x
<3>>{}, hana::size_c
<5>),
98 hana::experimental::types
<>{}