]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/hana/test/range/drop_front.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / hana / test / range / drop_front.cpp
CommitLineData
b32b8144 1// Copyright Louis Dionne 2013-2017
7c673cae
FG
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/core/make.hpp>
7#include <boost/hana/drop_front.hpp>
8#include <boost/hana/equal.hpp>
9#include <boost/hana/integral_constant.hpp>
10#include <boost/hana/range.hpp>
11namespace hana = boost::hana;
12
13
14int main() {
15 BOOST_HANA_CONSTANT_CHECK(hana::equal(
16 hana::drop_front(hana::make_range(hana::int_c<0>, hana::int_c<0>), hana::int_c<0>),
17 hana::make_range(hana::int_c<0>, hana::int_c<0>)
18 ));
19 BOOST_HANA_CONSTANT_CHECK(hana::equal(
20 hana::drop_front(hana::make_range(hana::int_c<0>, hana::int_c<0>), hana::int_c<1>),
21 hana::make_range(hana::int_c<0>, hana::int_c<0>)
22 ));
23 BOOST_HANA_CONSTANT_CHECK(hana::equal(
24 hana::drop_front(hana::make_range(hana::int_c<0>, hana::int_c<0>), hana::int_c<2>),
25 hana::make_range(hana::int_c<0>, hana::int_c<0>)
26 ));
27
28 BOOST_HANA_CONSTANT_CHECK(hana::equal(
29 hana::drop_front(hana::make_range(hana::int_c<0>, hana::int_c<1>), hana::int_c<0>),
30 hana::make_range(hana::int_c<0>, hana::int_c<1>)
31 ));
32 BOOST_HANA_CONSTANT_CHECK(hana::equal(
33 hana::drop_front(hana::make_range(hana::int_c<0>, hana::int_c<1>), hana::int_c<1>),
34 hana::make_range(hana::int_c<1>, hana::int_c<1>)
35 ));
36 BOOST_HANA_CONSTANT_CHECK(hana::equal(
37 hana::drop_front(hana::make_range(hana::int_c<0>, hana::int_c<1>), hana::int_c<2>),
38 hana::make_range(hana::int_c<1>, hana::int_c<1>)
39 ));
40
41 BOOST_HANA_CONSTANT_CHECK(hana::equal(
42 hana::drop_front(hana::make_range(hana::int_c<0>, hana::int_c<2>), hana::int_c<0>),
43 hana::make_range(hana::int_c<0>, hana::int_c<2>)
44 ));
45 BOOST_HANA_CONSTANT_CHECK(hana::equal(
46 hana::drop_front(hana::make_range(hana::int_c<0>, hana::int_c<2>), hana::int_c<1>),
47 hana::make_range(hana::int_c<1>, hana::int_c<2>)
48 ));
49 BOOST_HANA_CONSTANT_CHECK(hana::equal(
50 hana::drop_front(hana::make_range(hana::int_c<0>, hana::int_c<2>), hana::int_c<2>),
51 hana::make_range(hana::int_c<2>, hana::int_c<2>)
52 ));
53
54 BOOST_HANA_CONSTANT_CHECK(hana::equal(
55 hana::drop_front(hana::make_range(hana::int_c<0>, hana::int_c<3>), hana::int_c<0>),
56 hana::make_range(hana::int_c<0>, hana::int_c<3>)
57 ));
58 BOOST_HANA_CONSTANT_CHECK(hana::equal(
59 hana::drop_front(hana::make_range(hana::int_c<0>, hana::int_c<3>), hana::int_c<1>),
60 hana::make_range(hana::int_c<1>, hana::int_c<3>)
61 ));
62 BOOST_HANA_CONSTANT_CHECK(hana::equal(
63 hana::drop_front(hana::make_range(hana::int_c<0>, hana::int_c<3>), hana::int_c<2>),
64 hana::make_range(hana::int_c<2>, hana::int_c<3>)
65 ));
66 BOOST_HANA_CONSTANT_CHECK(hana::equal(
67 hana::drop_front(hana::make_range(hana::int_c<0>, hana::int_c<3>), hana::int_c<3>),
68 hana::make_range(hana::int_c<3>, hana::int_c<3>)
69 ));
70
71 BOOST_HANA_CONSTANT_CHECK(hana::equal(
72 hana::drop_front(hana::make_range(hana::int_c<20>, hana::int_c<50>), hana::int_c<10>),
73 hana::make_range(hana::int_c<30>, hana::int_c<50>)
74 ));
75}