]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/hana/test/functional/partial.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / hana / test / functional / partial.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/equal.hpp>
7#include <boost/hana/functional/partial.hpp>
8
9#include <laws/base.hpp>
10namespace hana = boost::hana;
11using hana::test::ct_eq;
12
13
14int main() {
15 hana::test::_injection<0> f{};
16
17 BOOST_HANA_CONSTANT_CHECK(hana::equal(
18 hana::partial(f)(),
19 f()
20 ));
21 BOOST_HANA_CONSTANT_CHECK(hana::equal(
22 hana::partial(f)(ct_eq<1>{}),
23 f(ct_eq<1>{})
24 ));
25 BOOST_HANA_CONSTANT_CHECK(hana::equal(
26 hana::partial(f)(ct_eq<1>{}, ct_eq<2>{}),
27 f(ct_eq<1>{}, ct_eq<2>{})
28 ));
29 BOOST_HANA_CONSTANT_CHECK(hana::equal(
30 hana::partial(f)(ct_eq<1>{}, ct_eq<2>{}, ct_eq<3>{}),
31 f(ct_eq<1>{}, ct_eq<2>{}, ct_eq<3>{})
32 ));
33
34 BOOST_HANA_CONSTANT_CHECK(hana::equal(
35 hana::partial(f, ct_eq<1>{})(),
36 f(ct_eq<1>{})
37 ));
38 BOOST_HANA_CONSTANT_CHECK(hana::equal(
39 hana::partial(f, ct_eq<1>{})(ct_eq<2>{}),
40 f(ct_eq<1>{}, ct_eq<2>{})
41 ));
42 BOOST_HANA_CONSTANT_CHECK(hana::equal(
43 hana::partial(f, ct_eq<1>{})(ct_eq<2>{}, ct_eq<3>{}),
44 f(ct_eq<1>{}, ct_eq<2>{}, ct_eq<3>{})
45 ));
46
47 BOOST_HANA_CONSTANT_CHECK(hana::equal(
48 hana::partial(f, ct_eq<1>{}, ct_eq<2>{})(),
49 f(ct_eq<1>{}, ct_eq<2>{})
50 ));
51 BOOST_HANA_CONSTANT_CHECK(hana::equal(
52 hana::partial(f, ct_eq<1>{}, ct_eq<2>{})(ct_eq<3>{}),
53 f(ct_eq<1>{}, ct_eq<2>{}, ct_eq<3>{})
54 ));
55 BOOST_HANA_CONSTANT_CHECK(hana::equal(
56 hana::partial(f, ct_eq<1>{}, ct_eq<2>{})(ct_eq<3>{}, ct_eq<4>{}),
57 f(ct_eq<1>{}, ct_eq<2>{}, ct_eq<3>{}, ct_eq<4>{})
58 ));
59
60 BOOST_HANA_CONSTANT_CHECK(hana::equal(
61 hana::partial(f, ct_eq<1>{}, ct_eq<2>{}, ct_eq<3>{})(),
62 f(ct_eq<1>{}, ct_eq<2>{}, ct_eq<3>{})
63 ));
64}