Lines Matching refs:std

27         std::tuple<> t = std::tuple_cat();
30 std::tuple<> t1;
31 std::tuple<> t2 = std::tuple_cat(t1);
34 std::tuple<> t = std::tuple_cat(std::tuple<>());
37 std::tuple<> t = std::tuple_cat(std::array<int, 0>());
40 std::tuple<int> t1(1);
41 std::tuple<int> t = std::tuple_cat(t1);
42 assert(std::get<0>(t) == 1);
47 constexpr std::tuple<> t = std::tuple_cat();
50 constexpr std::tuple<> t1;
51 constexpr std::tuple<> t2 = std::tuple_cat(t1);
54 constexpr std::tuple<> t = std::tuple_cat(std::tuple<>());
57 constexpr std::tuple<> t = std::tuple_cat(std::array<int, 0>());
60 constexpr std::tuple<int> t1(1);
61 constexpr std::tuple<int> t = std::tuple_cat(t1);
62 static_assert(std::get<0>(t) == 1, "");
65 constexpr std::tuple<int> t1(1);
66 constexpr std::tuple<int, int> t = std::tuple_cat(t1, t1);
67 static_assert(std::get<0>(t) == 1, "");
68 static_assert(std::get<1>(t) == 1, "");
72 std::tuple<int, MoveOnly> t =
73 std::tuple_cat(std::tuple<int, MoveOnly>(1, 2));
74 assert(std::get<0>(t) == 1);
75 assert(std::get<1>(t) == 2);
78 std::tuple<int, int, int> t = std::tuple_cat(std::array<int, 3>());
79 assert(std::get<0>(t) == 0);
80 assert(std::get<1>(t) == 0);
81 assert(std::get<2>(t) == 0);
84 std::tuple<int, MoveOnly> t = std::tuple_cat(std::pair<int, MoveOnly>(2, 1));
85 assert(std::get<0>(t) == 2);
86 assert(std::get<1>(t) == 1);
90 std::tuple<> t1;
91 std::tuple<> t2;
92 std::tuple<> t3 = std::tuple_cat(t1, t2);
95 std::tuple<> t1;
96 std::tuple<int> t2(2);
97 std::tuple<int> t3 = std::tuple_cat(t1, t2);
98 assert(std::get<0>(t3) == 2);
101 std::tuple<> t1;
102 std::tuple<int> t2(2);
103 std::tuple<int> t3 = std::tuple_cat(t2, t1);
104 assert(std::get<0>(t3) == 2);
107 std::tuple<int*> t1;
108 std::tuple<int> t2(2);
109 std::tuple<int*, int> t3 = std::tuple_cat(t1, t2);
110 assert(std::get<0>(t3) == nullptr);
111 assert(std::get<1>(t3) == 2);
114 std::tuple<int*> t1;
115 std::tuple<int> t2(2);
116 std::tuple<int, int*> t3 = std::tuple_cat(t2, t1);
117 assert(std::get<0>(t3) == 2);
118 assert(std::get<1>(t3) == nullptr);
121 std::tuple<int*> t1;
122 std::tuple<int, double> t2(2, 3.5);
123 std::tuple<int*, int, double> t3 = std::tuple_cat(t1, t2);
124 assert(std::get<0>(t3) == nullptr);
125 assert(std::get<1>(t3) == 2);
126 assert(std::get<2>(t3) == 3.5);
129 std::tuple<int*> t1;
130 std::tuple<int, double> t2(2, 3.5);
131 std::tuple<int, double, int*> t3 = std::tuple_cat(t2, t1);
132 assert(std::get<0>(t3) == 2);
133 assert(std::get<1>(t3) == 3.5);
134 assert(std::get<2>(t3) == nullptr);
137 std::tuple<int*, MoveOnly> t1(nullptr, 1);
138 std::tuple<int, double> t2(2, 3.5);
139 std::tuple<int*, MoveOnly, int, double> t3 =
140 std::tuple_cat(std::move(t1), t2);
141 assert(std::get<0>(t3) == nullptr);
142 assert(std::get<1>(t3) == 1);
143 assert(std::get<2>(t3) == 2);
144 assert(std::get<3>(t3) == 3.5);
147 std::tuple<int*, MoveOnly> t1(nullptr, 1);
148 std::tuple<int, double> t2(2, 3.5);
149 std::tuple<int, double, int*, MoveOnly> t3 =
150 std::tuple_cat(t2, std::move(t1));
151 assert(std::get<0>(t3) == 2);
152 assert(std::get<1>(t3) == 3.5);
153 assert(std::get<2>(t3) == nullptr);
154 assert(std::get<3>(t3) == 1);
157 std::tuple<MoveOnly, MoveOnly> t1(1, 2);
158 std::tuple<int*, MoveOnly> t2(nullptr, 4);
159 std::tuple<MoveOnly, MoveOnly, int*, MoveOnly> t3 =
160 std::tuple_cat(std::move(t1), std::move(t2));
161 assert(std::get<0>(t3) == 1);
162 assert(std::get<1>(t3) == 2);
163 assert(std::get<2>(t3) == nullptr);
164 assert(std::get<3>(t3) == 4);
168 std::tuple<MoveOnly, MoveOnly> t1(1, 2);
169 std::tuple<int*, MoveOnly> t2(nullptr, 4);
170 std::tuple<MoveOnly, MoveOnly, int*, MoveOnly> t3 =
171 std::tuple_cat(std::tuple<>(),
172 std::move(t1),
173 std::move(t2));
174 assert(std::get<0>(t3) == 1);
175 assert(std::get<1>(t3) == 2);
176 assert(std::get<2>(t3) == nullptr);
177 assert(std::get<3>(t3) == 4);
180 std::tuple<MoveOnly, MoveOnly> t1(1, 2);
181 std::tuple<int*, MoveOnly> t2(nullptr, 4);
182 std::tuple<MoveOnly, MoveOnly, int*, MoveOnly> t3 =
183 std::tuple_cat(std::move(t1),
184 std::tuple<>(),
185 std::move(t2));
186 assert(std::get<0>(t3) == 1);
187 assert(std::get<1>(t3) == 2);
188 assert(std::get<2>(t3) == nullptr);
189 assert(std::get<3>(t3) == 4);
192 std::tuple<MoveOnly, MoveOnly> t1(1, 2);
193 std::tuple<int*, MoveOnly> t2(nullptr, 4);
194 std::tuple<MoveOnly, MoveOnly, int*, MoveOnly> t3 =
195 std::tuple_cat(std::move(t1),
196 std::move(t2),
197 std::tuple<>());
198 assert(std::get<0>(t3) == 1);
199 assert(std::get<1>(t3) == 2);
200 assert(std::get<2>(t3) == nullptr);
201 assert(std::get<3>(t3) == 4);
204 std::tuple<MoveOnly, MoveOnly> t1(1, 2);
205 std::tuple<int*, MoveOnly> t2(nullptr, 4);
206 std::tuple<MoveOnly, MoveOnly, int*, MoveOnly, int> t3 =
207 std::tuple_cat(std::move(t1),
208 std::move(t2),
209 std::tuple<int>(5));
210 assert(std::get<0>(t3) == 1);
211 assert(std::get<1>(t3) == 2);
212 assert(std::get<2>(t3) == nullptr);
213 assert(std::get<3>(t3) == 4);
214 assert(std::get<4>(t3) == 5);