]>
Commit | Line | Data |
---|---|---|
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 | ||
8 | struct X { | |
9 | X(int) {} | |
10 | }; | |
11 | struct S { X x0; X x1; int x2; X x3; }; | |
12 | ||
13 | int 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 |