]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/hana/test/experimental/view/joined/length.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / hana / test / experimental / view / joined / length.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/experimental/view.hpp>
8#include <boost/hana/integral_constant.hpp>
9#include <boost/hana/length.hpp>
10
11#include <support/seq.hpp>
12namespace hana = boost::hana;
13
14
15template <int> struct undefined { };
16
17int main() {
18 auto container = ::seq;
19
20 {
21 auto storage1 = container();
22 auto storage2 = container();
23 auto joined = hana::experimental::joined(storage1, storage2);
24 BOOST_HANA_CONSTANT_CHECK(hana::equal(
25 hana::length(joined),
26 hana::size_c<0>
27 ));
28 }
29
30 {
31 auto storage1 = container(undefined<0>{});
32 auto storage2 = container();
33 auto joined = hana::experimental::joined(storage1, storage2);
34 BOOST_HANA_CONSTANT_CHECK(hana::equal(
35 hana::length(joined),
36 hana::size_c<1>
37 ));
38 }
39
40 {
41 auto storage1 = container();
42 auto storage2 = container(undefined<0>{});
43 auto joined = hana::experimental::joined(storage1, storage2);
44 BOOST_HANA_CONSTANT_CHECK(hana::equal(
45 hana::length(joined),
46 hana::size_c<1>
47 ));
48 }
49
50 {
51 auto storage1 = container(undefined<0>{});
52 auto storage2 = container(undefined<1>{});
53 auto joined = hana::experimental::joined(storage1, storage2);
54 BOOST_HANA_CONSTANT_CHECK(hana::equal(
55 hana::length(joined),
56 hana::size_c<2>
57 ));
58 }
59
60 {
61 auto storage1 = container(undefined<0>{});
62 auto storage2 = container(undefined<1>{});
63 auto joined = hana::experimental::joined(storage1, storage2);
64 BOOST_HANA_CONSTANT_CHECK(hana::equal(
65 hana::length(joined),
66 hana::size_c<2>
67 ));
68 }
69
70 {
71 auto storage1 = container(undefined<0>{}, undefined<1>{});
72 auto storage2 = container(undefined<2>{});
73 auto joined = hana::experimental::joined(storage1, storage2);
74 BOOST_HANA_CONSTANT_CHECK(hana::equal(
75 hana::length(joined),
76 hana::size_c<3>
77 ));
78 }
79
80 {
81 auto storage1 = container(undefined<0>{}, undefined<1>{}, undefined<2>{});
82 auto storage2 = container(undefined<3>{}, undefined<4>{});
83 auto joined = hana::experimental::joined(storage1, storage2);
84 BOOST_HANA_CONSTANT_CHECK(hana::equal(
85 hana::length(joined),
86 hana::size_c<5>
87 ));
88 }
89}