1// Copyright (c) 2023 Bela Schaum, X-Ryl669, Denis Mikhailov, Antony Polukhin.
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// Generated by misc/generate_fields_names_big.cpp.py
7
8#include <boost/pfr/core_name.hpp>
9#include <type_traits>
10
11#include <boost/core/lightweight_test.hpp>
12
13namespace testing {
14
15template <class... Types>
16auto make_stdarray(const Types&... t) {
17 return std::array<std::common_type_t<Types...>, sizeof...(Types)>{t...};
18}
19
20struct Aggregate1 {
21 int EXuT_0EBItazIzOuovbOSyOYGqbJw1uQ;
22
23};
24struct Aggregate2 {
25 int SnihXdx4VbVTcwKm2PGOy8gBYi;
26int l_hKC0UCDgf9akyA6pr1IG;
27
28};
29struct Aggregate3 {
30 int GWYXwjwOCC5uOWkmZjrjk95yaOQbVfUbSJRCoQoRyPXjzp7x2c7WMwvck0JeOg;
31int xdtwasd3bFi2mErdk64LyyWKcOb5gudT50eCBMUHraYYmd8Yxp9M0pO1DmDHWQZ4LEshxseqUjzoTeuwnVwA6uvStNpN0ZtZ;
32int shqTJk7vA32s2DQB5o7TyecNLMHLUogzWYO_NwRsgX;
33
34};
35struct Aggregate4 {
36 int ofYcwHz8V6YMDPsHqyIB5TVZckFc3cK0Da;
37int HiGE0sOlKCO;
38int F5Nrv0LUdUSmrzLgPmtENIEe5uJQyRXC0owDVh9IjRBdA_aSEqiMx_EhWXEkbddK5MCgCv223s9EXlMc55ByxpG6XYbXS6nHywEy;
39int emjjbXYK;
40
41};
42struct Aggregate5 {
43 int M0u7SIZSVWJ0KqQygT_6npmZv1XzZI5dJcwjQuqq6lIdlSJSpnAKhOg82qyVywwNq3cvvmnmAv7;
44int SXEUFB6z;
45int tDxT;
46int sV2m6xg3MxKN1Xln2dXyBh8rkF7lUUfHIK8nK4FRzru2DXeT;
47int ycEXe3x03PvbXqFJzOKMq8i4XLAZfyY2i4HONhv1Wx_;
48
49};
50
51
52void test_get_name_1() {
53 BOOST_TEST_EQ( ((boost::pfr::get_name<0, Aggregate1>())), "EXuT_0EBItazIzOuovbOSyOYGqbJw1uQ");
54
55}
56void test_get_name_2() {
57 BOOST_TEST_EQ( ((boost::pfr::get_name<0, Aggregate2>())), "SnihXdx4VbVTcwKm2PGOy8gBYi");
58BOOST_TEST_EQ( ((boost::pfr::get_name<1, Aggregate2>())), "l_hKC0UCDgf9akyA6pr1IG");
59
60}
61void test_get_name_3() {
62 BOOST_TEST_EQ( ((boost::pfr::get_name<0, Aggregate3>())), "GWYXwjwOCC5uOWkmZjrjk95yaOQbVfUbSJRCoQoRyPXjzp7x2c7WMwvck0JeOg");
63BOOST_TEST_EQ( ((boost::pfr::get_name<1, Aggregate3>())), "xdtwasd3bFi2mErdk64LyyWKcOb5gudT50eCBMUHraYYmd8Yxp9M0pO1DmDHWQZ4LEshxseqUjzoTeuwnVwA6uvStNpN0ZtZ");
64BOOST_TEST_EQ( ((boost::pfr::get_name<2, Aggregate3>())), "shqTJk7vA32s2DQB5o7TyecNLMHLUogzWYO_NwRsgX");
65
66}
67void test_get_name_4() {
68 BOOST_TEST_EQ( ((boost::pfr::get_name<0, Aggregate4>())), "ofYcwHz8V6YMDPsHqyIB5TVZckFc3cK0Da");
69BOOST_TEST_EQ( ((boost::pfr::get_name<1, Aggregate4>())), "HiGE0sOlKCO");
70BOOST_TEST_EQ( ((boost::pfr::get_name<2, Aggregate4>())), "F5Nrv0LUdUSmrzLgPmtENIEe5uJQyRXC0owDVh9IjRBdA_aSEqiMx_EhWXEkbddK5MCgCv223s9EXlMc55ByxpG6XYbXS6nHywEy");
71BOOST_TEST_EQ( ((boost::pfr::get_name<3, Aggregate4>())), "emjjbXYK");
72
73}
74void test_get_name_5() {
75 BOOST_TEST_EQ( ((boost::pfr::get_name<0, Aggregate5>())), "M0u7SIZSVWJ0KqQygT_6npmZv1XzZI5dJcwjQuqq6lIdlSJSpnAKhOg82qyVywwNq3cvvmnmAv7");
76BOOST_TEST_EQ( ((boost::pfr::get_name<1, Aggregate5>())), "SXEUFB6z");
77BOOST_TEST_EQ( ((boost::pfr::get_name<2, Aggregate5>())), "tDxT");
78BOOST_TEST_EQ( ((boost::pfr::get_name<3, Aggregate5>())), "sV2m6xg3MxKN1Xln2dXyBh8rkF7lUUfHIK8nK4FRzru2DXeT");
79BOOST_TEST_EQ( ((boost::pfr::get_name<4, Aggregate5>())), "ycEXe3x03PvbXqFJzOKMq8i4XLAZfyY2i4HONhv1Wx_");
80
81}
82
83
84void test_names_as_array_1() {
85 const auto expected = make_stdarray(
86 t: std::string_view{"EXuT_0EBItazIzOuovbOSyOYGqbJw1uQ"}
87
88 );
89 const auto value = boost::pfr::names_as_array<Aggregate1>();
90 BOOST_TEST_EQ(expected.size(), value.size());
91 for (std::size_t i=0;i<expected.size();++i) {
92 BOOST_TEST_EQ(value[i], expected[i]);
93 }
94}
95void test_names_as_array_2() {
96 const auto expected = make_stdarray(
97 t: std::string_view{"SnihXdx4VbVTcwKm2PGOy8gBYi"}
98, t: std::string_view{"l_hKC0UCDgf9akyA6pr1IG"}
99
100 );
101 const auto value = boost::pfr::names_as_array<Aggregate2>();
102 BOOST_TEST_EQ(expected.size(), value.size());
103 for (std::size_t i=0;i<expected.size();++i) {
104 BOOST_TEST_EQ(value[i], expected[i]);
105 }
106}
107void test_names_as_array_3() {
108 const auto expected = make_stdarray(
109 t: std::string_view{"GWYXwjwOCC5uOWkmZjrjk95yaOQbVfUbSJRCoQoRyPXjzp7x2c7WMwvck0JeOg"}
110, t: std::string_view{"xdtwasd3bFi2mErdk64LyyWKcOb5gudT50eCBMUHraYYmd8Yxp9M0pO1DmDHWQZ4LEshxseqUjzoTeuwnVwA6uvStNpN0ZtZ"}
111, t: std::string_view{"shqTJk7vA32s2DQB5o7TyecNLMHLUogzWYO_NwRsgX"}
112
113 );
114 const auto value = boost::pfr::names_as_array<Aggregate3>();
115 BOOST_TEST_EQ(expected.size(), value.size());
116 for (std::size_t i=0;i<expected.size();++i) {
117 BOOST_TEST_EQ(value[i], expected[i]);
118 }
119}
120void test_names_as_array_4() {
121 const auto expected = make_stdarray(
122 t: std::string_view{"ofYcwHz8V6YMDPsHqyIB5TVZckFc3cK0Da"}
123, t: std::string_view{"HiGE0sOlKCO"}
124, t: std::string_view{"F5Nrv0LUdUSmrzLgPmtENIEe5uJQyRXC0owDVh9IjRBdA_aSEqiMx_EhWXEkbddK5MCgCv223s9EXlMc55ByxpG6XYbXS6nHywEy"}
125, t: std::string_view{"emjjbXYK"}
126
127 );
128 const auto value = boost::pfr::names_as_array<Aggregate4>();
129 BOOST_TEST_EQ(expected.size(), value.size());
130 for (std::size_t i=0;i<expected.size();++i) {
131 BOOST_TEST_EQ(value[i], expected[i]);
132 }
133}
134void test_names_as_array_5() {
135 const auto expected = make_stdarray(
136 t: std::string_view{"M0u7SIZSVWJ0KqQygT_6npmZv1XzZI5dJcwjQuqq6lIdlSJSpnAKhOg82qyVywwNq3cvvmnmAv7"}
137, t: std::string_view{"SXEUFB6z"}
138, t: std::string_view{"tDxT"}
139, t: std::string_view{"sV2m6xg3MxKN1Xln2dXyBh8rkF7lUUfHIK8nK4FRzru2DXeT"}
140, t: std::string_view{"ycEXe3x03PvbXqFJzOKMq8i4XLAZfyY2i4HONhv1Wx_"}
141
142 );
143 const auto value = boost::pfr::names_as_array<Aggregate5>();
144 BOOST_TEST_EQ(expected.size(), value.size());
145 for (std::size_t i=0;i<expected.size();++i) {
146 BOOST_TEST_EQ(value[i], expected[i]);
147 }
148}
149
150
151
152} // namespace testing
153
154int main() {
155 testing::test_get_name_1();
156testing::test_get_name_2();
157testing::test_get_name_3();
158testing::test_get_name_4();
159testing::test_get_name_5();
160
161 testing::test_names_as_array_1();
162testing::test_names_as_array_2();
163testing::test_names_as_array_3();
164testing::test_names_as_array_4();
165testing::test_names_as_array_5();
166
167
168 return boost::report_errors();
169}
170
171

source code of boost/libs/pfr/test/core_name/run/fields_names_big.cpp