]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/pfr/test/run/non_default_constructible.cpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / pfr / test / run / non_default_constructible.cpp
CommitLineData
1e59de90 1// Copyright (c) 2018-2022 Antony Polukhin
20effc67
TL
2//
3// Distributed under the Boost Software License, Version 1.0. (See accompanying
4// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6#include <boost/pfr/tuple_size.hpp>
7
8struct X {
9 X(int) {}
10};
11struct S { X x0; X x1; int x2; X x3; };
12
13int main() {
14 static_assert(boost::pfr::tuple_size_v<S> == 4, "");
15
16 struct S5_0 { int x0; int x1; int x2; int x3; X x4; };
17 static_assert(boost::pfr::tuple_size_v<S5_0> == 5, "");
18
19 struct S5_1 { X x0; int x1; int x2; int x3; int x4; };
20 static_assert(boost::pfr::tuple_size_v<S5_1> == 5, "");
21
22 struct S5_2 { int x0; int x1; X x2; int x3; int x4; };
23 static_assert(boost::pfr::tuple_size_v<S5_2> == 5, "");
24
25 struct S5_3 { int x0; int x1; X x2; int x3; X x4; };
26 static_assert(boost::pfr::tuple_size_v<S5_3> == 5, "");
27
28 struct S5_4 { X x0; X x1; X x2; X x3; X x4; };
29 static_assert(boost::pfr::tuple_size_v<S5_4> == 5, "");
30
31 struct S6 { X x0; X x1; X x2; X x3; X x4; X x5;};
32 static_assert(boost::pfr::tuple_size_v<S6> == 6, "");
33}
34