1 | //===----------------------------------------------------------------------===// |
2 | // |
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | // See https://llvm.org/LICENSE.txt for license information. |
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | // |
9 | // WARNING: This test was generated by generate_feature_test_macro_components.py |
10 | // and should not be edited manually. |
11 | // |
12 | // clang-format off |
13 | |
14 | // <functional> |
15 | |
16 | // Test the feature test macros defined by <functional> |
17 | |
18 | /* Constant Value |
19 | __cpp_lib_bind_back 202202L [C++23] |
20 | __cpp_lib_bind_front 201907L [C++20] |
21 | 202306L [C++26] |
22 | __cpp_lib_boyer_moore_searcher 201603L [C++17] |
23 | __cpp_lib_constexpr_functional 201907L [C++20] |
24 | __cpp_lib_copyable_function 202306L [C++26] |
25 | __cpp_lib_function_ref 202306L [C++26] |
26 | __cpp_lib_invoke 201411L [C++17] |
27 | __cpp_lib_invoke_r 202106L [C++23] |
28 | __cpp_lib_move_only_function 202110L [C++23] |
29 | __cpp_lib_not_fn 201603L [C++17] |
30 | __cpp_lib_ranges 202207L [C++20] |
31 | __cpp_lib_reference_wrapper 202403L [C++26] |
32 | __cpp_lib_result_of_sfinae 201210L [C++14] |
33 | __cpp_lib_transparent_operators 201210L [C++14] |
34 | 201510L [C++17] |
35 | __cpp_lib_unwrap_ref 201811L [C++20] |
36 | */ |
37 | |
38 | #include <functional> |
39 | #include "test_macros.h" |
40 | |
41 | #if TEST_STD_VER < 14 |
42 | |
43 | # ifdef __cpp_lib_bind_back |
44 | # error "__cpp_lib_bind_back should not be defined before c++23" |
45 | # endif |
46 | |
47 | # ifdef __cpp_lib_bind_front |
48 | # error "__cpp_lib_bind_front should not be defined before c++20" |
49 | # endif |
50 | |
51 | # ifdef __cpp_lib_boyer_moore_searcher |
52 | # error "__cpp_lib_boyer_moore_searcher should not be defined before c++17" |
53 | # endif |
54 | |
55 | # ifdef __cpp_lib_constexpr_functional |
56 | # error "__cpp_lib_constexpr_functional should not be defined before c++20" |
57 | # endif |
58 | |
59 | # ifdef __cpp_lib_copyable_function |
60 | # error "__cpp_lib_copyable_function should not be defined before c++26" |
61 | # endif |
62 | |
63 | # ifdef __cpp_lib_function_ref |
64 | # error "__cpp_lib_function_ref should not be defined before c++26" |
65 | # endif |
66 | |
67 | # ifdef __cpp_lib_invoke |
68 | # error "__cpp_lib_invoke should not be defined before c++17" |
69 | # endif |
70 | |
71 | # ifdef __cpp_lib_invoke_r |
72 | # error "__cpp_lib_invoke_r should not be defined before c++23" |
73 | # endif |
74 | |
75 | # ifdef __cpp_lib_move_only_function |
76 | # error "__cpp_lib_move_only_function should not be defined before c++23" |
77 | # endif |
78 | |
79 | # ifdef __cpp_lib_not_fn |
80 | # error "__cpp_lib_not_fn should not be defined before c++17" |
81 | # endif |
82 | |
83 | # ifdef __cpp_lib_ranges |
84 | # error "__cpp_lib_ranges should not be defined before c++20" |
85 | # endif |
86 | |
87 | # ifdef __cpp_lib_reference_wrapper |
88 | # error "__cpp_lib_reference_wrapper should not be defined before c++26" |
89 | # endif |
90 | |
91 | # ifdef __cpp_lib_result_of_sfinae |
92 | # error "__cpp_lib_result_of_sfinae should not be defined before c++14" |
93 | # endif |
94 | |
95 | # ifdef __cpp_lib_transparent_operators |
96 | # error "__cpp_lib_transparent_operators should not be defined before c++14" |
97 | # endif |
98 | |
99 | # ifdef __cpp_lib_unwrap_ref |
100 | # error "__cpp_lib_unwrap_ref should not be defined before c++20" |
101 | # endif |
102 | |
103 | #elif TEST_STD_VER == 14 |
104 | |
105 | # ifdef __cpp_lib_bind_back |
106 | # error "__cpp_lib_bind_back should not be defined before c++23" |
107 | # endif |
108 | |
109 | # ifdef __cpp_lib_bind_front |
110 | # error "__cpp_lib_bind_front should not be defined before c++20" |
111 | # endif |
112 | |
113 | # ifdef __cpp_lib_boyer_moore_searcher |
114 | # error "__cpp_lib_boyer_moore_searcher should not be defined before c++17" |
115 | # endif |
116 | |
117 | # ifdef __cpp_lib_constexpr_functional |
118 | # error "__cpp_lib_constexpr_functional should not be defined before c++20" |
119 | # endif |
120 | |
121 | # ifdef __cpp_lib_copyable_function |
122 | # error "__cpp_lib_copyable_function should not be defined before c++26" |
123 | # endif |
124 | |
125 | # ifdef __cpp_lib_function_ref |
126 | # error "__cpp_lib_function_ref should not be defined before c++26" |
127 | # endif |
128 | |
129 | # ifdef __cpp_lib_invoke |
130 | # error "__cpp_lib_invoke should not be defined before c++17" |
131 | # endif |
132 | |
133 | # ifdef __cpp_lib_invoke_r |
134 | # error "__cpp_lib_invoke_r should not be defined before c++23" |
135 | # endif |
136 | |
137 | # ifdef __cpp_lib_move_only_function |
138 | # error "__cpp_lib_move_only_function should not be defined before c++23" |
139 | # endif |
140 | |
141 | # ifdef __cpp_lib_not_fn |
142 | # error "__cpp_lib_not_fn should not be defined before c++17" |
143 | # endif |
144 | |
145 | # ifdef __cpp_lib_ranges |
146 | # error "__cpp_lib_ranges should not be defined before c++20" |
147 | # endif |
148 | |
149 | # ifdef __cpp_lib_reference_wrapper |
150 | # error "__cpp_lib_reference_wrapper should not be defined before c++26" |
151 | # endif |
152 | |
153 | # ifndef __cpp_lib_result_of_sfinae |
154 | # error "__cpp_lib_result_of_sfinae should be defined in c++14" |
155 | # endif |
156 | # if __cpp_lib_result_of_sfinae != 201210L |
157 | # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++14" |
158 | # endif |
159 | |
160 | # ifndef __cpp_lib_transparent_operators |
161 | # error "__cpp_lib_transparent_operators should be defined in c++14" |
162 | # endif |
163 | # if __cpp_lib_transparent_operators != 201210L |
164 | # error "__cpp_lib_transparent_operators should have the value 201210L in c++14" |
165 | # endif |
166 | |
167 | # ifdef __cpp_lib_unwrap_ref |
168 | # error "__cpp_lib_unwrap_ref should not be defined before c++20" |
169 | # endif |
170 | |
171 | #elif TEST_STD_VER == 17 |
172 | |
173 | # ifdef __cpp_lib_bind_back |
174 | # error "__cpp_lib_bind_back should not be defined before c++23" |
175 | # endif |
176 | |
177 | # ifdef __cpp_lib_bind_front |
178 | # error "__cpp_lib_bind_front should not be defined before c++20" |
179 | # endif |
180 | |
181 | # ifndef __cpp_lib_boyer_moore_searcher |
182 | # error "__cpp_lib_boyer_moore_searcher should be defined in c++17" |
183 | # endif |
184 | # if __cpp_lib_boyer_moore_searcher != 201603L |
185 | # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++17" |
186 | # endif |
187 | |
188 | # ifdef __cpp_lib_constexpr_functional |
189 | # error "__cpp_lib_constexpr_functional should not be defined before c++20" |
190 | # endif |
191 | |
192 | # ifdef __cpp_lib_copyable_function |
193 | # error "__cpp_lib_copyable_function should not be defined before c++26" |
194 | # endif |
195 | |
196 | # ifdef __cpp_lib_function_ref |
197 | # error "__cpp_lib_function_ref should not be defined before c++26" |
198 | # endif |
199 | |
200 | # ifndef __cpp_lib_invoke |
201 | # error "__cpp_lib_invoke should be defined in c++17" |
202 | # endif |
203 | # if __cpp_lib_invoke != 201411L |
204 | # error "__cpp_lib_invoke should have the value 201411L in c++17" |
205 | # endif |
206 | |
207 | # ifdef __cpp_lib_invoke_r |
208 | # error "__cpp_lib_invoke_r should not be defined before c++23" |
209 | # endif |
210 | |
211 | # ifdef __cpp_lib_move_only_function |
212 | # error "__cpp_lib_move_only_function should not be defined before c++23" |
213 | # endif |
214 | |
215 | # ifndef __cpp_lib_not_fn |
216 | # error "__cpp_lib_not_fn should be defined in c++17" |
217 | # endif |
218 | # if __cpp_lib_not_fn != 201603L |
219 | # error "__cpp_lib_not_fn should have the value 201603L in c++17" |
220 | # endif |
221 | |
222 | # ifdef __cpp_lib_ranges |
223 | # error "__cpp_lib_ranges should not be defined before c++20" |
224 | # endif |
225 | |
226 | # ifdef __cpp_lib_reference_wrapper |
227 | # error "__cpp_lib_reference_wrapper should not be defined before c++26" |
228 | # endif |
229 | |
230 | # ifndef __cpp_lib_result_of_sfinae |
231 | # error "__cpp_lib_result_of_sfinae should be defined in c++17" |
232 | # endif |
233 | # if __cpp_lib_result_of_sfinae != 201210L |
234 | # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++17" |
235 | # endif |
236 | |
237 | # ifndef __cpp_lib_transparent_operators |
238 | # error "__cpp_lib_transparent_operators should be defined in c++17" |
239 | # endif |
240 | # if __cpp_lib_transparent_operators != 201510L |
241 | # error "__cpp_lib_transparent_operators should have the value 201510L in c++17" |
242 | # endif |
243 | |
244 | # ifdef __cpp_lib_unwrap_ref |
245 | # error "__cpp_lib_unwrap_ref should not be defined before c++20" |
246 | # endif |
247 | |
248 | #elif TEST_STD_VER == 20 |
249 | |
250 | # ifdef __cpp_lib_bind_back |
251 | # error "__cpp_lib_bind_back should not be defined before c++23" |
252 | # endif |
253 | |
254 | # ifndef __cpp_lib_bind_front |
255 | # error "__cpp_lib_bind_front should be defined in c++20" |
256 | # endif |
257 | # if __cpp_lib_bind_front != 201907L |
258 | # error "__cpp_lib_bind_front should have the value 201907L in c++20" |
259 | # endif |
260 | |
261 | # ifndef __cpp_lib_boyer_moore_searcher |
262 | # error "__cpp_lib_boyer_moore_searcher should be defined in c++20" |
263 | # endif |
264 | # if __cpp_lib_boyer_moore_searcher != 201603L |
265 | # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++20" |
266 | # endif |
267 | |
268 | # ifndef __cpp_lib_constexpr_functional |
269 | # error "__cpp_lib_constexpr_functional should be defined in c++20" |
270 | # endif |
271 | # if __cpp_lib_constexpr_functional != 201907L |
272 | # error "__cpp_lib_constexpr_functional should have the value 201907L in c++20" |
273 | # endif |
274 | |
275 | # ifdef __cpp_lib_copyable_function |
276 | # error "__cpp_lib_copyable_function should not be defined before c++26" |
277 | # endif |
278 | |
279 | # ifdef __cpp_lib_function_ref |
280 | # error "__cpp_lib_function_ref should not be defined before c++26" |
281 | # endif |
282 | |
283 | # ifndef __cpp_lib_invoke |
284 | # error "__cpp_lib_invoke should be defined in c++20" |
285 | # endif |
286 | # if __cpp_lib_invoke != 201411L |
287 | # error "__cpp_lib_invoke should have the value 201411L in c++20" |
288 | # endif |
289 | |
290 | # ifdef __cpp_lib_invoke_r |
291 | # error "__cpp_lib_invoke_r should not be defined before c++23" |
292 | # endif |
293 | |
294 | # ifdef __cpp_lib_move_only_function |
295 | # error "__cpp_lib_move_only_function should not be defined before c++23" |
296 | # endif |
297 | |
298 | # ifndef __cpp_lib_not_fn |
299 | # error "__cpp_lib_not_fn should be defined in c++20" |
300 | # endif |
301 | # if __cpp_lib_not_fn != 201603L |
302 | # error "__cpp_lib_not_fn should have the value 201603L in c++20" |
303 | # endif |
304 | |
305 | # ifndef __cpp_lib_ranges |
306 | # error "__cpp_lib_ranges should be defined in c++20" |
307 | # endif |
308 | # if __cpp_lib_ranges != 202207L |
309 | # error "__cpp_lib_ranges should have the value 202207L in c++20" |
310 | # endif |
311 | |
312 | # ifdef __cpp_lib_reference_wrapper |
313 | # error "__cpp_lib_reference_wrapper should not be defined before c++26" |
314 | # endif |
315 | |
316 | # ifndef __cpp_lib_result_of_sfinae |
317 | # error "__cpp_lib_result_of_sfinae should be defined in c++20" |
318 | # endif |
319 | # if __cpp_lib_result_of_sfinae != 201210L |
320 | # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++20" |
321 | # endif |
322 | |
323 | # ifndef __cpp_lib_transparent_operators |
324 | # error "__cpp_lib_transparent_operators should be defined in c++20" |
325 | # endif |
326 | # if __cpp_lib_transparent_operators != 201510L |
327 | # error "__cpp_lib_transparent_operators should have the value 201510L in c++20" |
328 | # endif |
329 | |
330 | # ifndef __cpp_lib_unwrap_ref |
331 | # error "__cpp_lib_unwrap_ref should be defined in c++20" |
332 | # endif |
333 | # if __cpp_lib_unwrap_ref != 201811L |
334 | # error "__cpp_lib_unwrap_ref should have the value 201811L in c++20" |
335 | # endif |
336 | |
337 | #elif TEST_STD_VER == 23 |
338 | |
339 | # ifndef __cpp_lib_bind_back |
340 | # error "__cpp_lib_bind_back should be defined in c++23" |
341 | # endif |
342 | # if __cpp_lib_bind_back != 202202L |
343 | # error "__cpp_lib_bind_back should have the value 202202L in c++23" |
344 | # endif |
345 | |
346 | # ifndef __cpp_lib_bind_front |
347 | # error "__cpp_lib_bind_front should be defined in c++23" |
348 | # endif |
349 | # if __cpp_lib_bind_front != 201907L |
350 | # error "__cpp_lib_bind_front should have the value 201907L in c++23" |
351 | # endif |
352 | |
353 | # ifndef __cpp_lib_boyer_moore_searcher |
354 | # error "__cpp_lib_boyer_moore_searcher should be defined in c++23" |
355 | # endif |
356 | # if __cpp_lib_boyer_moore_searcher != 201603L |
357 | # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++23" |
358 | # endif |
359 | |
360 | # ifndef __cpp_lib_constexpr_functional |
361 | # error "__cpp_lib_constexpr_functional should be defined in c++23" |
362 | # endif |
363 | # if __cpp_lib_constexpr_functional != 201907L |
364 | # error "__cpp_lib_constexpr_functional should have the value 201907L in c++23" |
365 | # endif |
366 | |
367 | # ifdef __cpp_lib_copyable_function |
368 | # error "__cpp_lib_copyable_function should not be defined before c++26" |
369 | # endif |
370 | |
371 | # ifdef __cpp_lib_function_ref |
372 | # error "__cpp_lib_function_ref should not be defined before c++26" |
373 | # endif |
374 | |
375 | # ifndef __cpp_lib_invoke |
376 | # error "__cpp_lib_invoke should be defined in c++23" |
377 | # endif |
378 | # if __cpp_lib_invoke != 201411L |
379 | # error "__cpp_lib_invoke should have the value 201411L in c++23" |
380 | # endif |
381 | |
382 | # ifndef __cpp_lib_invoke_r |
383 | # error "__cpp_lib_invoke_r should be defined in c++23" |
384 | # endif |
385 | # if __cpp_lib_invoke_r != 202106L |
386 | # error "__cpp_lib_invoke_r should have the value 202106L in c++23" |
387 | # endif |
388 | |
389 | # if !defined(_LIBCPP_VERSION) |
390 | # ifndef __cpp_lib_move_only_function |
391 | # error "__cpp_lib_move_only_function should be defined in c++23" |
392 | # endif |
393 | # if __cpp_lib_move_only_function != 202110L |
394 | # error "__cpp_lib_move_only_function should have the value 202110L in c++23" |
395 | # endif |
396 | # else // _LIBCPP_VERSION |
397 | # ifdef __cpp_lib_move_only_function |
398 | # error "__cpp_lib_move_only_function should not be defined because it is unimplemented in libc++!" |
399 | # endif |
400 | # endif |
401 | |
402 | # ifndef __cpp_lib_not_fn |
403 | # error "__cpp_lib_not_fn should be defined in c++23" |
404 | # endif |
405 | # if __cpp_lib_not_fn != 201603L |
406 | # error "__cpp_lib_not_fn should have the value 201603L in c++23" |
407 | # endif |
408 | |
409 | # ifndef __cpp_lib_ranges |
410 | # error "__cpp_lib_ranges should be defined in c++23" |
411 | # endif |
412 | # if __cpp_lib_ranges != 202207L |
413 | # error "__cpp_lib_ranges should have the value 202207L in c++23" |
414 | # endif |
415 | |
416 | # ifdef __cpp_lib_reference_wrapper |
417 | # error "__cpp_lib_reference_wrapper should not be defined before c++26" |
418 | # endif |
419 | |
420 | # ifndef __cpp_lib_result_of_sfinae |
421 | # error "__cpp_lib_result_of_sfinae should be defined in c++23" |
422 | # endif |
423 | # if __cpp_lib_result_of_sfinae != 201210L |
424 | # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++23" |
425 | # endif |
426 | |
427 | # ifndef __cpp_lib_transparent_operators |
428 | # error "__cpp_lib_transparent_operators should be defined in c++23" |
429 | # endif |
430 | # if __cpp_lib_transparent_operators != 201510L |
431 | # error "__cpp_lib_transparent_operators should have the value 201510L in c++23" |
432 | # endif |
433 | |
434 | # ifndef __cpp_lib_unwrap_ref |
435 | # error "__cpp_lib_unwrap_ref should be defined in c++23" |
436 | # endif |
437 | # if __cpp_lib_unwrap_ref != 201811L |
438 | # error "__cpp_lib_unwrap_ref should have the value 201811L in c++23" |
439 | # endif |
440 | |
441 | #elif TEST_STD_VER > 23 |
442 | |
443 | # ifndef __cpp_lib_bind_back |
444 | # error "__cpp_lib_bind_back should be defined in c++26" |
445 | # endif |
446 | # if __cpp_lib_bind_back != 202202L |
447 | # error "__cpp_lib_bind_back should have the value 202202L in c++26" |
448 | # endif |
449 | |
450 | # ifndef __cpp_lib_bind_front |
451 | # error "__cpp_lib_bind_front should be defined in c++26" |
452 | # endif |
453 | # if __cpp_lib_bind_front != 202306L |
454 | # error "__cpp_lib_bind_front should have the value 202306L in c++26" |
455 | # endif |
456 | |
457 | # ifndef __cpp_lib_boyer_moore_searcher |
458 | # error "__cpp_lib_boyer_moore_searcher should be defined in c++26" |
459 | # endif |
460 | # if __cpp_lib_boyer_moore_searcher != 201603L |
461 | # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++26" |
462 | # endif |
463 | |
464 | # ifndef __cpp_lib_constexpr_functional |
465 | # error "__cpp_lib_constexpr_functional should be defined in c++26" |
466 | # endif |
467 | # if __cpp_lib_constexpr_functional != 201907L |
468 | # error "__cpp_lib_constexpr_functional should have the value 201907L in c++26" |
469 | # endif |
470 | |
471 | # if !defined(_LIBCPP_VERSION) |
472 | # ifndef __cpp_lib_copyable_function |
473 | # error "__cpp_lib_copyable_function should be defined in c++26" |
474 | # endif |
475 | # if __cpp_lib_copyable_function != 202306L |
476 | # error "__cpp_lib_copyable_function should have the value 202306L in c++26" |
477 | # endif |
478 | # else // _LIBCPP_VERSION |
479 | # ifdef __cpp_lib_copyable_function |
480 | # error "__cpp_lib_copyable_function should not be defined because it is unimplemented in libc++!" |
481 | # endif |
482 | # endif |
483 | |
484 | # if !defined(_LIBCPP_VERSION) |
485 | # ifndef __cpp_lib_function_ref |
486 | # error "__cpp_lib_function_ref should be defined in c++26" |
487 | # endif |
488 | # if __cpp_lib_function_ref != 202306L |
489 | # error "__cpp_lib_function_ref should have the value 202306L in c++26" |
490 | # endif |
491 | # else // _LIBCPP_VERSION |
492 | # ifdef __cpp_lib_function_ref |
493 | # error "__cpp_lib_function_ref should not be defined because it is unimplemented in libc++!" |
494 | # endif |
495 | # endif |
496 | |
497 | # ifndef __cpp_lib_invoke |
498 | # error "__cpp_lib_invoke should be defined in c++26" |
499 | # endif |
500 | # if __cpp_lib_invoke != 201411L |
501 | # error "__cpp_lib_invoke should have the value 201411L in c++26" |
502 | # endif |
503 | |
504 | # ifndef __cpp_lib_invoke_r |
505 | # error "__cpp_lib_invoke_r should be defined in c++26" |
506 | # endif |
507 | # if __cpp_lib_invoke_r != 202106L |
508 | # error "__cpp_lib_invoke_r should have the value 202106L in c++26" |
509 | # endif |
510 | |
511 | # if !defined(_LIBCPP_VERSION) |
512 | # ifndef __cpp_lib_move_only_function |
513 | # error "__cpp_lib_move_only_function should be defined in c++26" |
514 | # endif |
515 | # if __cpp_lib_move_only_function != 202110L |
516 | # error "__cpp_lib_move_only_function should have the value 202110L in c++26" |
517 | # endif |
518 | # else // _LIBCPP_VERSION |
519 | # ifdef __cpp_lib_move_only_function |
520 | # error "__cpp_lib_move_only_function should not be defined because it is unimplemented in libc++!" |
521 | # endif |
522 | # endif |
523 | |
524 | # ifndef __cpp_lib_not_fn |
525 | # error "__cpp_lib_not_fn should be defined in c++26" |
526 | # endif |
527 | # if __cpp_lib_not_fn != 201603L |
528 | # error "__cpp_lib_not_fn should have the value 201603L in c++26" |
529 | # endif |
530 | |
531 | # ifndef __cpp_lib_ranges |
532 | # error "__cpp_lib_ranges should be defined in c++26" |
533 | # endif |
534 | # if __cpp_lib_ranges != 202207L |
535 | # error "__cpp_lib_ranges should have the value 202207L in c++26" |
536 | # endif |
537 | |
538 | # if !defined(_LIBCPP_VERSION) |
539 | # ifndef __cpp_lib_reference_wrapper |
540 | # error "__cpp_lib_reference_wrapper should be defined in c++26" |
541 | # endif |
542 | # if __cpp_lib_reference_wrapper != 202403L |
543 | # error "__cpp_lib_reference_wrapper should have the value 202403L in c++26" |
544 | # endif |
545 | # else // _LIBCPP_VERSION |
546 | # ifdef __cpp_lib_reference_wrapper |
547 | # error "__cpp_lib_reference_wrapper should not be defined because it is unimplemented in libc++!" |
548 | # endif |
549 | # endif |
550 | |
551 | # ifndef __cpp_lib_result_of_sfinae |
552 | # error "__cpp_lib_result_of_sfinae should be defined in c++26" |
553 | # endif |
554 | # if __cpp_lib_result_of_sfinae != 201210L |
555 | # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++26" |
556 | # endif |
557 | |
558 | # ifndef __cpp_lib_transparent_operators |
559 | # error "__cpp_lib_transparent_operators should be defined in c++26" |
560 | # endif |
561 | # if __cpp_lib_transparent_operators != 201510L |
562 | # error "__cpp_lib_transparent_operators should have the value 201510L in c++26" |
563 | # endif |
564 | |
565 | # ifndef __cpp_lib_unwrap_ref |
566 | # error "__cpp_lib_unwrap_ref should be defined in c++26" |
567 | # endif |
568 | # if __cpp_lib_unwrap_ref != 201811L |
569 | # error "__cpp_lib_unwrap_ref should have the value 201811L in c++26" |
570 | # endif |
571 | |
572 | #endif // TEST_STD_VER > 23 |
573 | |
574 | |