diff --git a/gcc/cp/metafns.gperf b/gcc/cp/metafns.gperf index 9509a4bdb65..4759cdfe463 100644 --- a/gcc/cp/metafns.gperf +++ b/gcc/cp/metafns.gperf @@ -165,8 +165,6 @@ enum metafn_code { METAFN_IS_CONST_TYPE, METAFN_IS_VOLATILE_TYPE, METAFN_IS_TRIVIALLY_COPYABLE_TYPE, - METAFN_IS_TRIVIALLY_RELOCATABLE_TYPE, - METAFN_IS_REPLACEABLE_TYPE, METAFN_IS_STANDARD_LAYOUT_TYPE, METAFN_IS_EMPTY_TYPE, METAFN_IS_POLYMORPHIC_TYPE, @@ -207,7 +205,6 @@ enum metafn_code { METAFN_IS_NOTHROW_SWAPPABLE_WITH_TYPE, METAFN_IS_NOTHROW_SWAPPABLE_TYPE, METAFN_IS_NOTHROW_DESTRUCTIBLE_TYPE, - METAFN_IS_NOTHROW_RELOCATABLE_TYPE, METAFN_IS_IMPLICIT_LIFETIME_TYPE, METAFN_HAS_VIRTUAL_DESTRUCTOR, METAFN_HAS_UNIQUE_OBJECT_REPRESENTATIONS, @@ -553,8 +550,6 @@ is_member_pointer_type, METAFN_IS_MEMBER_POINTER_TYPE, METAFN_KIND_BOOL_TINFO, is_const_type, METAFN_IS_CONST_TYPE, METAFN_KIND_BOOL_TINFO, is_volatile_type, METAFN_IS_VOLATILE_TYPE, METAFN_KIND_BOOL_TINFO, is_trivially_copyable_type, METAFN_IS_TRIVIALLY_COPYABLE_TYPE, METAFN_KIND_BOOL_TINFO, -is_trivially_relocatable_type, METAFN_IS_TRIVIALLY_RELOCATABLE_TYPE, METAFN_KIND_BOOL_TINFO, -is_replaceable_type, METAFN_IS_REPLACEABLE_TYPE, METAFN_KIND_BOOL_TINFO, is_standard_layout_type, METAFN_IS_STANDARD_LAYOUT_TYPE, METAFN_KIND_BOOL_TINFO, is_empty_type, METAFN_IS_EMPTY_TYPE, METAFN_KIND_BOOL_TINFO, is_polymorphic_type, METAFN_IS_POLYMORPHIC_TYPE, METAFN_KIND_BOOL_TINFO, @@ -595,7 +590,6 @@ is_nothrow_move_assignable_type, METAFN_IS_NOTHROW_MOVE_ASSIGNABLE_TYPE, METAFN_ is_nothrow_swappable_with_type, METAFN_IS_NOTHROW_SWAPPABLE_WITH_TYPE, METAFN_KIND_BOOL_TINFO_TINFO, is_nothrow_swappable_type, METAFN_IS_NOTHROW_SWAPPABLE_TYPE, METAFN_KIND_BOOL_TINFO, is_nothrow_destructible_type, METAFN_IS_NOTHROW_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO, -is_nothrow_relocatable_type, METAFN_IS_NOTHROW_RELOCATABLE_TYPE, METAFN_KIND_BOOL_TINFO, is_implicit_lifetime_type, METAFN_IS_IMPLICIT_LIFETIME_TYPE, METAFN_KIND_BOOL_TINFO, has_virtual_destructor, METAFN_HAS_VIRTUAL_DESTRUCTOR, METAFN_KIND_BOOL_TINFO, has_unique_object_representations, METAFN_HAS_UNIQUE_OBJECT_REPRESENTATIONS, METAFN_KIND_BOOL_TINFO, diff --git a/gcc/cp/metafns.h b/gcc/cp/metafns.h index d3ce6c07c60..c556ef70925 100644 --- a/gcc/cp/metafns.h +++ b/gcc/cp/metafns.h @@ -1,4 +1,4 @@ -/* C++ code produced by gperf version 3.1 */ +/* C++ code produced by gperf version 3.2.1 */ /* Command-line: gperf -o -C -E -k '1,4,5,11,14,$' -D -N find -L C++ --output-file metafns.h metafns.gperf */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ @@ -193,8 +193,6 @@ enum metafn_code { METAFN_IS_CONST_TYPE, METAFN_IS_VOLATILE_TYPE, METAFN_IS_TRIVIALLY_COPYABLE_TYPE, - METAFN_IS_TRIVIALLY_RELOCATABLE_TYPE, - METAFN_IS_REPLACEABLE_TYPE, METAFN_IS_STANDARD_LAYOUT_TYPE, METAFN_IS_EMPTY_TYPE, METAFN_IS_POLYMORPHIC_TYPE, @@ -235,7 +233,6 @@ enum metafn_code { METAFN_IS_NOTHROW_SWAPPABLE_WITH_TYPE, METAFN_IS_NOTHROW_SWAPPABLE_TYPE, METAFN_IS_NOTHROW_DESTRUCTIBLE_TYPE, - METAFN_IS_NOTHROW_RELOCATABLE_TYPE, METAFN_IS_IMPLICIT_LIFETIME_TYPE, METAFN_HAS_VIRTUAL_DESTRUCTOR, METAFN_HAS_UNIQUE_OBJECT_REPRESENTATIONS, @@ -425,7 +422,7 @@ enum metafn_kind { METAFN_KIND_U8STRING_VIEW_INPUT_RANGE = (METAFN_KIND_ARGS_INPUT_RANGE << 5) | METAFN_KIND_RET_U8STRING_VIEW }; -#line 401 "metafns.gperf" +#line 398 "metafns.gperf" struct metafn_info { /* A name within "std::meta::" (or "std::meta::access_context::"). */ @@ -437,7 +434,7 @@ struct metafn_info /* METAFN_KIND_ kind of arguments and return type. */ metafn_kind kind; }; -/* maximum key range = 712, duplicates = 0 */ +/* maximum key range = 879, duplicates = 0 */ class metafn_lookup { @@ -452,32 +449,32 @@ metafn_lookup::hash (const char *str, size_t len) { static const unsigned short asso_values[] = { - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 0, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 5, 120, 130, 10, 45, - 85, 5, 55, 10, 95, 20, 124, 0, 60, 105, - 0, 235, 0, 0, 35, 55, 25, 135, 5, 150, - 0, 254, 20, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 751, 751, 751, 751, 751, 751, 751 + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 0, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 5, 100, 145, 10, 45, + 165, 5, 55, 50, 72, 20, 248, 0, 55, 105, + 0, 205, 0, 45, 35, 55, 25, 195, 5, 199, + 20, 311, 20, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 918, 918, 918, 918, 918, 918, 918 }; unsigned int hval = len; @@ -485,11 +482,21 @@ metafn_lookup::hash (const char *str, size_t len) { default: hval += asso_values[static_cast(str[13])]; +#if (defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang__ && __clang_major__ + (__clang_minor__ >= 9) > 3))) || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 202000L && ((defined __GNUC__ && __GNUC__ >= 10) || (defined __clang__ && __clang_major__ >= 9))) + [[fallthrough]]; +#elif (defined __GNUC__ && __GNUC__ >= 7) || (defined __clang__ && __clang_major__ >= 10) + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 13: case 12: case 11: hval += asso_values[static_cast(str[10])]; +#if (defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang__ && __clang_major__ + (__clang_minor__ >= 9) > 3))) || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 202000L && ((defined __GNUC__ && __GNUC__ >= 10) || (defined __clang__ && __clang_major__ >= 9))) + [[fallthrough]]; +#elif (defined __GNUC__ && __GNUC__ >= 7) || (defined __clang__ && __clang_major__ >= 10) + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 10: case 9: @@ -498,9 +505,19 @@ metafn_lookup::hash (const char *str, size_t len) case 6: case 5: hval += asso_values[static_cast(str[4]+1)]; +#if (defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang__ && __clang_major__ + (__clang_minor__ >= 9) > 3))) || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 202000L && ((defined __GNUC__ && __GNUC__ >= 10) || (defined __clang__ && __clang_major__ >= 9))) + [[fallthrough]]; +#elif (defined __GNUC__ && __GNUC__ >= 7) || (defined __clang__ && __clang_major__ >= 10) + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 4: hval += asso_values[static_cast(str[3])]; +#if (defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang__ && __clang_major__ + (__clang_minor__ >= 9) > 3))) || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 202000L && ((defined __GNUC__ && __GNUC__ >= 10) || (defined __clang__ && __clang_major__ >= 9))) + [[fallthrough]]; +#elif (defined __GNUC__ && __GNUC__ >= 7) || (defined __clang__ && __clang_major__ >= 10) + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 3: case 2: @@ -516,490 +533,491 @@ metafn_lookup::find (const char *str, size_t len) { enum { - TOTAL_KEYWORDS = 237, + TOTAL_KEYWORDS = 234, MIN_WORD_LENGTH = 4, MAX_WORD_LENGTH = 40, MIN_HASH_VALUE = 39, - MAX_HASH_VALUE = 750 + MAX_HASH_VALUE = 917 }; +#if (defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 6) > 4) || (defined __clang__ && __clang_major__ >= 3) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" +#endif static const struct metafn_info wordlist[] = { -#line 604 "metafns.gperf" - {"rank", METAFN_RANK, METAFN_KIND_SIZE_T_TINFO,}, -#line 531 "metafns.gperf" - {"is_void_type", METAFN_IS_VOID_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 536 "metafns.gperf" - {"is_pointer_type", METAFN_IS_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 442 "metafns.gperf" - {"is_volatile", METAFN_IS_VOLATILE, METAFN_KIND_BOOL_INFO,}, -#line 488 "metafns.gperf" - {"is_value", METAFN_IS_VALUE, METAFN_KIND_BOOL_INFO,}, -#line 495 "metafns.gperf" - {"is_base", METAFN_IS_BASE, METAFN_KIND_BOOL_INFO,}, -#line 456 "metafns.gperf" - {"is_variable", METAFN_IS_VARIABLE, METAFN_KIND_BOOL_INFO,}, -#line 610 "metafns.gperf" - {"is_nothrow_convertible_type", METAFN_IS_NOTHROW_CONVERTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 588 "metafns.gperf" - {"is_nothrow_constructible_type", METAFN_IS_NOTHROW_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,}, -#line 615 "metafns.gperf" - {"is_nothrow_invocable_type", METAFN_IS_NOTHROW_INVOCABLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,}, -#line 593 "metafns.gperf" - {"is_nothrow_copy_assignable_type", METAFN_IS_NOTHROW_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 616 "metafns.gperf" - {"is_nothrow_invocable_r_type", METAFN_IS_NOTHROW_INVOCABLE_R_TYPE, METAFN_KIND_BOOL_TINFO_TINFO_REFLECTION_RANGET,}, -#line 590 "metafns.gperf" - {"is_nothrow_copy_constructible_type", METAFN_IS_NOTHROW_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 607 "metafns.gperf" - {"is_base_of_type", METAFN_IS_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 594 "metafns.gperf" - {"is_nothrow_move_assignable_type", METAFN_IS_NOTHROW_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 591 "metafns.gperf" - {"is_nothrow_move_constructible_type", METAFN_IS_NOTHROW_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 480 "metafns.gperf" - {"is_variable_template", METAFN_IS_VARIABLE_TEMPLATE, METAFN_KIND_BOOL_INFO,}, -#line 642 "metafns.gperf" - {"variant_size", METAFN_VARIANT_SIZE, METAFN_KIND_SIZE_T_TINFO,}, -#line 532 "metafns.gperf" - {"is_null_pointer_type", METAFN_IS_NULL_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 457 "metafns.gperf" - {"is_type", METAFN_IS_TYPE, METAFN_KIND_BOOL_INFO,}, -#line 425 "metafns.gperf" - {"is_public", METAFN_IS_PUBLIC, METAFN_KIND_BOOL_INFO,}, -#line 437 "metafns.gperf" - {"is_noexcept", METAFN_IS_NOEXCEPT, METAFN_KIND_BOOL_INFO,}, -#line 520 "metafns.gperf" - {"extract", METAFN_EXTRACT, METAFN_KIND_TEMPLATE_PARM_INFO,}, -#line 643 "metafns.gperf" - {"variant_alternative", METAFN_VARIANT_ALTERNATIVE, METAFN_KIND_INFO_SIZE_T_TINFO,}, -#line 560 "metafns.gperf" - {"is_polymorphic_type", METAFN_IS_POLYMORPHIC_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 427 "metafns.gperf" - {"is_private", METAFN_IS_PRIVATE, METAFN_KIND_BOOL_INFO,}, -#line 461 "metafns.gperf" - {"is_function", METAFN_IS_FUNCTION, METAFN_KIND_BOOL_INFO,}, -#line 458 "metafns.gperf" - {"is_namespace", METAFN_IS_NAMESPACE, METAFN_KIND_BOOL_INFO,}, -#line 612 "metafns.gperf" - {"is_pointer_interconvertible_base_of_type", METAFN_IS_POINTER_INTERCONVERTIBLE_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 567 "metafns.gperf" - {"is_bounded_array_type", METAFN_IS_BOUNDED_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 441 "metafns.gperf" - {"is_const", METAFN_IS_CONST, METAFN_KIND_BOOL_INFO,}, -#line 487 "metafns.gperf" - {"is_concept", METAFN_IS_CONCEPT, METAFN_KIND_BOOL_INFO,}, -#line 606 "metafns.gperf" - {"is_same_type", METAFN_IS_SAME_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 511 "metafns.gperf" - {"bases_of", METAFN_BASES_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,}, -#line 479 "metafns.gperf" - {"is_function_template", METAFN_IS_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,}, -#line 592 "metafns.gperf" - {"is_nothrow_assignable_type", METAFN_IS_NOTHROW_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 462 "metafns.gperf" - {"is_conversion_function", METAFN_IS_CONVERSION_FUNCTION, METAFN_KIND_BOOL_INFO,}, -#line 597 "metafns.gperf" - {"is_nothrow_destructible_type", METAFN_IS_NOTHROW_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 609 "metafns.gperf" - {"is_convertible_type", METAFN_IS_CONVERTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 599 "metafns.gperf" - {"is_implicit_lifetime_type", METAFN_IS_IMPLICIT_LIFETIME_TYPE, METAFN_KIND_BOOL_TINFO,}, #line 598 "metafns.gperf" - {"is_nothrow_relocatable_type", METAFN_IS_NOTHROW_RELOCATABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 478 "metafns.gperf" - {"is_template", METAFN_IS_TEMPLATE, METAFN_KIND_BOOL_INFO,}, -#line 589 "metafns.gperf" - {"is_nothrow_default_constructible_type", METAFN_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 521 "metafns.gperf" - {"can_substitute", METAFN_CAN_SUBSTITUTE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,}, -#line 483 "metafns.gperf" - {"is_conversion_function_template", METAFN_IS_CONVERSION_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,}, -#line 450 "metafns.gperf" - {"has_module_linkage", METAFN_HAS_MODULE_LINKAGE, METAFN_KIND_BOOL_INFO,}, -#line 414 "metafns.gperf" - {"symbol_of", METAFN_SYMBOL_OF, METAFN_KIND_STRING_VIEW_OPERATORS,}, -#line 572 "metafns.gperf" - {"is_copy_constructible_type", METAFN_IS_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 497 "metafns.gperf" - {"has_parent", METAFN_HAS_PARENT, METAFN_KIND_BOOL_INFO,}, -#line 570 "metafns.gperf" - {"is_constructible_type", METAFN_IS_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,}, -#line 575 "metafns.gperf" - {"is_copy_assignable_type", METAFN_IS_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 459 "metafns.gperf" - {"is_type_alias", METAFN_IS_TYPE_ALIAS, METAFN_KIND_BOOL_INFO,}, -#line 468 "metafns.gperf" - {"is_copy_constructor", METAFN_IS_COPY_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,}, -#line 640 "metafns.gperf" - {"tuple_size", METAFN_TUPLE_SIZE, METAFN_KIND_SIZE_T_TINFO,}, -#line 504 "metafns.gperf" - {"variable_of", METAFN_VARIABLE_OF, METAFN_KIND_INFO_INFO,}, -#line 545 "metafns.gperf" - {"is_reflection_type", METAFN_IS_REFLECTION_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 519 "metafns.gperf" - {"bit_size_of", METAFN_BIT_SIZE_OF, METAFN_KIND_SIZE_T_INFO,}, -#line 471 "metafns.gperf" - {"is_copy_assignment", METAFN_IS_COPY_ASSIGNMENT, METAFN_KIND_BOOL_INFO,}, -#line 548 "metafns.gperf" - {"is_fundamental_type", METAFN_IS_FUNDAMENTAL_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 611 "metafns.gperf" - {"is_layout_compatible_type", METAFN_IS_LAYOUT_COMPATIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 647 "metafns.gperf" - {"current", METAFN_ACCESS_CONTEXT_CURRENT, METAFN_KIND_ACCESS_CONTEXT_VOID,}, -#line 448 "metafns.gperf" - {"has_automatic_storage_duration", METAFN_HAS_AUTOMATIC_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,}, -#line 634 "metafns.gperf" - {"common_type", METAFN_COMMON_TYPE, METAFN_KIND_INFO_REFLECTION_RANGET,}, -#line 486 "metafns.gperf" - {"is_constructor_template", METAFN_IS_CONSTRUCTOR_TEMPLATE, METAFN_KIND_BOOL_INFO,}, -#line 635 "metafns.gperf" - {"common_reference", METAFN_COMMON_REFERENCE, METAFN_KIND_INFO_REFLECTION_RANGET,}, -#line 426 "metafns.gperf" - {"is_protected", METAFN_IS_PROTECTED, METAFN_KIND_BOOL_INFO,}, -#line 578 "metafns.gperf" - {"is_swappable_type", METAFN_IS_SWAPPABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 641 "metafns.gperf" - {"tuple_element", METAFN_TUPLE_ELEMENT, METAFN_KIND_INFO_SIZE_T_TINFO,}, -#line 493 "metafns.gperf" - {"is_nonstatic_data_member", METAFN_IS_NONSTATIC_DATA_MEMBER, METAFN_KIND_BOOL_INFO,}, -#line 596 "metafns.gperf" - {"is_nothrow_swappable_type", METAFN_IS_NOTHROW_SWAPPABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 525 "metafns.gperf" - {"reflect_function", METAFN_REFLECT_FUNCTION, METAFN_KIND_INFO_TEMPLATE_PARM_REF,}, -#line 595 "metafns.gperf" - {"is_nothrow_swappable_with_type", METAFN_IS_NOTHROW_SWAPPABLE_WITH_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 573 "metafns.gperf" - {"is_move_constructible_type", METAFN_IS_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 466 "metafns.gperf" - {"is_constructor", METAFN_IS_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,}, -#line 644 "metafns.gperf" - {"type_order", METAFN_TYPE_ORDER, METAFN_KIND_STRONG_ORDERING_TINFO_TINFO,}, -#line 571 "metafns.gperf" - {"is_default_constructible_type", METAFN_IS_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 496 "metafns.gperf" - {"has_default_member_initializer", METAFN_HAS_DEFAULT_MEMBER_INITIALIZER, METAFN_KIND_BOOL_INFO,}, -#line 546 "metafns.gperf" - {"is_reference_type", METAFN_IS_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 503 "metafns.gperf" - {"parameters_of", METAFN_PARAMETERS_OF, METAFN_KIND_VECTOR_INFO_INFO,}, -#line 638 "metafns.gperf" - {"unwrap_reference", METAFN_UNWRAP_REFERENCE, METAFN_KIND_INFO_TINFO,}, -#line 552 "metafns.gperf" - {"is_member_pointer_type", METAFN_IS_MEMBER_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 576 "metafns.gperf" - {"is_move_assignable_type", METAFN_IS_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 550 "metafns.gperf" - {"is_scalar_type", METAFN_IS_SCALAR_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 476 "metafns.gperf" - {"has_default_argument", METAFN_HAS_DEFAULT_ARGUMENT, METAFN_KIND_BOOL_INFO,}, -#line 465 "metafns.gperf" - {"is_special_member_function", METAFN_IS_SPECIAL_MEMBER_FUNCTION, METAFN_KIND_BOOL_INFO,}, -#line 422 "metafns.gperf" - {"type_of", METAFN_TYPE_OF, METAFN_KIND_INFO_INFO,}, -#line 574 "metafns.gperf" - {"is_assignable_type", METAFN_IS_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 469 "metafns.gperf" - {"is_move_constructor", METAFN_IS_MOVE_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,}, -#line 631 "metafns.gperf" - {"add_pointer", METAFN_ADD_POINTER, METAFN_KIND_INFO_TINFO,}, -#line 470 "metafns.gperf" - {"is_assignment", METAFN_IS_ASSIGNMENT, METAFN_KIND_BOOL_INFO,}, -#line 428 "metafns.gperf" - {"is_virtual", METAFN_IS_VIRTUAL, METAFN_KIND_BOOL_INFO,}, -#line 636 "metafns.gperf" - {"underlying_type", METAFN_UNDERLYING_TYPE, METAFN_KIND_INFO_TINFO,}, -#line 467 "metafns.gperf" - {"is_default_constructor", METAFN_IS_DEFAULT_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,}, -#line 472 "metafns.gperf" - {"is_move_assignment", METAFN_IS_MOVE_ASSIGNMENT, METAFN_KIND_BOOL_INFO,}, -#line 453 "metafns.gperf" - {"has_linkage", METAFN_HAS_LINKAGE, METAFN_KIND_BOOL_INFO,}, -#line 417 "metafns.gperf" - {"identifier_of", METAFN_IDENTIFIER_OF, METAFN_KIND_STRING_VIEW_INFO,}, -#line 556 "metafns.gperf" - {"is_trivially_relocatable_type", METAFN_IS_TRIVIALLY_RELOCATABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 491 "metafns.gperf" - {"is_class_member", METAFN_IS_CLASS_MEMBER, METAFN_KIND_BOOL_INFO,}, -#line 622 "metafns.gperf" - {"add_cv", METAFN_ADD_CV, METAFN_KIND_INFO_TINFO,}, -#line 477 "metafns.gperf" - {"has_ellipsis_parameter", METAFN_HAS_ELLIPSIS_PARAMETER, METAFN_KIND_BOOL_INFO,}, -#line 473 "metafns.gperf" - {"is_destructor", METAFN_IS_DESTRUCTOR, METAFN_KIND_BOOL_INFO,}, -#line 492 "metafns.gperf" - {"is_namespace_member", METAFN_IS_NAMESPACE_MEMBER, METAFN_KIND_BOOL_INFO,}, -#line 510 "metafns.gperf" - {"members_of", METAFN_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,}, -#line 555 "metafns.gperf" - {"is_trivially_copyable_type", METAFN_IS_TRIVIALLY_COPYABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 608 "metafns.gperf" - {"is_virtual_base_of_type", METAFN_IS_VIRTUAL_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 580 "metafns.gperf" - {"is_trivially_constructible_type", METAFN_IS_TRIVIALLY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,}, -#line 517 "metafns.gperf" - {"size_of", METAFN_SIZE_OF, METAFN_KIND_SIZE_T_INFO,}, -#line 585 "metafns.gperf" - {"is_trivially_copy_assignable_type", METAFN_IS_TRIVIALLY_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 582 "metafns.gperf" - {"is_trivially_copy_constructible_type", METAFN_IS_TRIVIALLY_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 485 "metafns.gperf" - {"is_literal_operator_template", METAFN_IS_LITERAL_OPERATOR_TEMPLATE, METAFN_KIND_BOOL_INFO,}, -#line 565 "metafns.gperf" - {"is_signed_type", METAFN_IS_SIGNED_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 501 "metafns.gperf" - {"template_of", METAFN_TEMPLATE_OF, METAFN_KIND_INFO_INFO,}, -#line 620 "metafns.gperf" - {"add_const", METAFN_ADD_CONST, METAFN_KIND_INFO_TINFO,}, -#line 432 "metafns.gperf" - {"is_deleted", METAFN_IS_DELETED, METAFN_KIND_BOOL_INFO,}, -#line 481 "metafns.gperf" - {"is_class_template", METAFN_IS_CLASS_TEMPLATE, METAFN_KIND_BOOL_INFO,}, -#line 547 "metafns.gperf" - {"is_arithmetic_type", METAFN_IS_ARITHMETIC_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 522 "metafns.gperf" - {"substitute", METAFN_SUBSTITUTE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,}, -#line 433 "metafns.gperf" - {"is_defaulted", METAFN_IS_DEFAULTED, METAFN_KIND_BOOL_INFO,}, -#line 506 "metafns.gperf" - {"is_accessible", METAFN_IS_ACCESSIBLE, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,}, -#line 429 "metafns.gperf" - {"is_pure_virtual", METAFN_IS_PURE_VIRTUAL, METAFN_KIND_BOOL_INFO,}, -#line 474 "metafns.gperf" - {"is_function_parameter", METAFN_IS_FUNCTION_PARAMETER, METAFN_KIND_BOOL_INFO,}, -#line 431 "metafns.gperf" - {"is_final", METAFN_IS_FINAL, METAFN_KIND_BOOL_INFO,}, -#line 464 "metafns.gperf" - {"is_literal_operator", METAFN_IS_LITERAL_OPERATOR, METAFN_KIND_BOOL_INFO,}, -#line 557 "metafns.gperf" - {"is_replaceable_type", METAFN_IS_REPLACEABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 579 "metafns.gperf" - {"is_destructible_type", METAFN_IS_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 538 "metafns.gperf" - {"is_rvalue_reference_type", METAFN_IS_RVALUE_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 625 "metafns.gperf" - {"add_rvalue_reference", METAFN_ADD_RVALUE_REFERENCE, METAFN_KIND_INFO_TINFO,}, -#line 605 "metafns.gperf" - {"extent", METAFN_EXTENT, METAFN_KIND_SIZE_T_TINFO_UNSIGNED,}, -#line 541 "metafns.gperf" - {"is_enum_type", METAFN_IS_ENUM_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 460 "metafns.gperf" - {"is_namespace_alias", METAFN_IS_NAMESPACE_ALIAS, METAFN_KIND_BOOL_INFO,}, -#line 587 "metafns.gperf" - {"is_trivially_destructible_type", METAFN_IS_TRIVIALLY_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 490 "metafns.gperf" - {"is_structured_binding", METAFN_IS_STRUCTURED_BINDING, METAFN_KIND_BOOL_INFO,}, -#line 581 "metafns.gperf" - {"is_trivially_default_constructible_type", METAFN_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 443 "metafns.gperf" - {"is_mutable_member", METAFN_IS_MUTABLE_MEMBER, METAFN_KIND_BOOL_INFO,}, -#line 569 "metafns.gperf" - {"is_scoped_enum_type", METAFN_IS_SCOPED_ENUM_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 559 "metafns.gperf" - {"is_empty_type", METAFN_IS_EMPTY_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 455 "metafns.gperf" - {"is_enumerable_type", METAFN_IS_ENUMERABLE_TYPE, METAFN_KIND_BOOL_INFO,}, -#line 537 "metafns.gperf" - {"is_lvalue_reference_type", METAFN_IS_LVALUE_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 586 "metafns.gperf" - {"is_trivially_move_assignable_type", METAFN_IS_TRIVIALLY_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 498 "metafns.gperf" - {"parent_of", METAFN_PARENT_OF, METAFN_KIND_INFO_INFO,}, -#line 554 "metafns.gperf" - {"is_volatile_type", METAFN_IS_VOLATILE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 583 "metafns.gperf" - {"is_trivially_move_constructible_type", METAFN_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 419 "metafns.gperf" - {"display_string_of", METAFN_DISPLAY_STRING_OF, METAFN_KIND_STRING_VIEW_INFO,}, -#line 438 "metafns.gperf" - {"is_bit_field", METAFN_IS_BIT_FIELD, METAFN_KIND_BOOL_INFO,}, -#line 577 "metafns.gperf" - {"is_swappable_with_type", METAFN_IS_SWAPPABLE_WITH_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 526 "metafns.gperf" - {"reflect_constant_string", METAFN_REFLECT_CONSTANT_STRING, METAFN_KIND_INFO_INPUT_RANGE,}, -#line 540 "metafns.gperf" - {"is_member_function_pointer_type", METAFN_IS_MEMBER_FUNCTION_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 563 "metafns.gperf" - {"is_aggregate_type", METAFN_IS_AGGREGATE_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 529 "metafns.gperf" - {"is_data_member_spec", METAFN_IS_DATA_MEMBER_SPEC, METAFN_KIND_BOOL_INFO,}, -#line 523 "metafns.gperf" - {"reflect_constant", METAFN_REFLECT_CONSTANT, METAFN_KIND_INFO_TEMPLATE_PARM,}, -#line 601 "metafns.gperf" - {"has_unique_object_representations", METAFN_HAS_UNIQUE_OBJECT_REPRESENTATIONS, METAFN_KIND_BOOL_TINFO,}, -#line 584 "metafns.gperf" - {"is_trivially_assignable_type", METAFN_IS_TRIVIALLY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 624 "metafns.gperf" - {"add_lvalue_reference", METAFN_ADD_LVALUE_REFERENCE, METAFN_KIND_INFO_TINFO,}, -#line 627 "metafns.gperf" - {"make_unsigned", METAFN_MAKE_UNSIGNED, METAFN_KIND_INFO_TINFO,}, -#line 420 "metafns.gperf" - {"u8display_string_of", METAFN_U8DISPLAY_STRING_OF, METAFN_KIND_U8STRING_VIEW_INFO,}, -#line 499 "metafns.gperf" - {"dealias", METAFN_DEALIAS, METAFN_KIND_INFO_INFO,}, -#line 439 "metafns.gperf" - {"is_enumerator", METAFN_IS_ENUMERATOR, METAFN_KIND_BOOL_INFO,}, -#line 489 "metafns.gperf" - {"is_object", METAFN_IS_OBJECT, METAFN_KIND_BOOL_INFO,}, -#line 553 "metafns.gperf" - {"is_const_type", METAFN_IS_CONST_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 524 "metafns.gperf" - {"reflect_object", METAFN_REFLECT_OBJECT, METAFN_KIND_INFO_TEMPLATE_PARM_REF,}, -#line 436 "metafns.gperf" - {"is_explicit", METAFN_IS_EXPLICIT, METAFN_KIND_BOOL_INFO,}, -#line 482 "metafns.gperf" - {"is_alias_template", METAFN_IS_ALIAS_TEMPLATE, METAFN_KIND_BOOL_INFO,}, -#line 515 "metafns.gperf" - {"enumerators_of", METAFN_ENUMERATORS_OF, METAFN_KIND_VECTOR_INFO_INFO,}, -#line 454 "metafns.gperf" - {"is_complete_type", METAFN_IS_COMPLETE_TYPE, METAFN_KIND_BOOL_INFO,}, -#line 502 "metafns.gperf" - {"template_arguments_of", METAFN_TEMPLATE_ARGUMENTS_OF, METAFN_KIND_VECTOR_INFO_INFO,}, -#line 549 "metafns.gperf" - {"is_object_type", METAFN_IS_OBJECT_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 452 "metafns.gperf" - {"has_c_language_linkage", METAFN_HAS_C_LANGUAGE_LINKAGE, METAFN_KIND_BOOL_INFO,}, -#line 505 "metafns.gperf" - {"return_type_of", METAFN_RETURN_TYPE_OF, METAFN_KIND_INFO_INFO,}, -#line 544 "metafns.gperf" - {"is_function_type", METAFN_IS_FUNCTION_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 424 "metafns.gperf" - {"constant_of", METAFN_CONSTANT_OF, METAFN_KIND_INFO_INFO,}, -#line 445 "metafns.gperf" - {"is_rvalue_reference_qualified", METAFN_IS_RVALUE_REFERENCE_QUALIFIED, METAFN_KIND_BOOL_INFO,}, -#line 435 "metafns.gperf" - {"is_user_declared", METAFN_IS_USER_DECLARED, METAFN_KIND_BOOL_INFO,}, -#line 621 "metafns.gperf" - {"add_volatile", METAFN_ADD_VOLATILE, METAFN_KIND_INFO_TINFO,}, -#line 416 "metafns.gperf" - {"has_identifier", METAFN_HAS_IDENTIFIER, METAFN_KIND_BOOL_INFO,}, -#line 508 "metafns.gperf" - {"has_inaccessible_bases", METAFN_HAS_INACCESSIBLE_BASES, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,}, -#line 451 "metafns.gperf" - {"has_external_linkage", METAFN_HAS_EXTERNAL_LINKAGE, METAFN_KIND_BOOL_INFO,}, -#line 509 "metafns.gperf" - {"has_inaccessible_subobjects", METAFN_HAS_INACCESSIBLE_SUBOBJECTS, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,}, -#line 600 "metafns.gperf" - {"has_virtual_destructor", METAFN_HAS_VIRTUAL_DESTRUCTOR, METAFN_KIND_BOOL_TINFO,}, -#line 494 "metafns.gperf" - {"is_static_member", METAFN_IS_STATIC_MEMBER, METAFN_KIND_BOOL_INFO,}, -#line 475 "metafns.gperf" - {"is_explicit_object_parameter", METAFN_IS_EXPLICIT_OBJECT_PARAMETER, METAFN_KIND_BOOL_INFO,}, -#line 613 "metafns.gperf" - {"is_invocable_type", METAFN_IS_INVOCABLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,}, -#line 507 "metafns.gperf" - {"has_inaccessible_nonstatic_data_members", METAFN_HAS_INACCESSIBLE_NONSTATIC_DATA_MEMBERS, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,}, -#line 444 "metafns.gperf" - {"is_lvalue_reference_qualified", METAFN_IS_LVALUE_REFERENCE_QUALIFIED, METAFN_KIND_BOOL_INFO,}, -#line 423 "metafns.gperf" - {"object_of", METAFN_OBJECT_OF, METAFN_KIND_INFO_INFO,}, -#line 446 "metafns.gperf" - {"has_static_storage_duration", METAFN_HAS_STATIC_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,}, -#line 614 "metafns.gperf" - {"is_invocable_r_type", METAFN_IS_INVOCABLE_R_TYPE, METAFN_KIND_BOOL_TINFO_TINFO_REFLECTION_RANGET,}, -#line 413 "metafns.gperf" - {"operator_of", METAFN_OPERATOR_OF, METAFN_KIND_OPERATORS_INFO,}, -#line 514 "metafns.gperf" - {"subobjects_of", METAFN_SUBOBJECTS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,}, -#line 516 "metafns.gperf" - {"offset_of", METAFN_OFFSET_OF, METAFN_KIND_MEMBER_OFFSET_INFO,}, -#line 626 "metafns.gperf" - {"make_signed", METAFN_MAKE_SIGNED, METAFN_KIND_INFO_TINFO,}, -#line 512 "metafns.gperf" - {"static_data_members_of", METAFN_STATIC_DATA_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,}, -#line 440 "metafns.gperf" - {"is_annotation", METAFN_IS_ANNOTATION, METAFN_KIND_BOOL_INFO,}, -#line 551 "metafns.gperf" - {"is_compound_type", METAFN_IS_COMPOUND_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 430 "metafns.gperf" - {"is_override", METAFN_IS_OVERRIDE, METAFN_KIND_BOOL_INFO,}, + {"rank", METAFN_RANK, METAFN_KIND_SIZE_T_TINFO,}, #line 528 "metafns.gperf" - {"data_member_spec", METAFN_DATA_MEMBER_SPEC, METAFN_KIND_INFO_TINFO_DATA_MEMBER_OPTIONS,}, -#line 603 "metafns.gperf" - {"reference_converts_from_temporary", METAFN_REFERENCE_CONVERTS_FROM_TEMPORARY, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 619 "metafns.gperf" - {"remove_cv", METAFN_REMOVE_CV, METAFN_KIND_INFO_TINFO,}, -#line 449 "metafns.gperf" - {"has_internal_linkage", METAFN_HAS_INTERNAL_LINKAGE, METAFN_KIND_BOOL_INFO,}, -#line 543 "metafns.gperf" - {"is_class_type", METAFN_IS_CLASS_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 463 "metafns.gperf" - {"is_operator_function", METAFN_IS_OPERATOR_FUNCTION, METAFN_KIND_BOOL_INFO,}, -#line 623 "metafns.gperf" - {"remove_reference", METAFN_REMOVE_REFERENCE, METAFN_KIND_INFO_TINFO,}, -#line 534 "metafns.gperf" - {"is_floating_point_type", METAFN_IS_FLOATING_POINT_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 558 "metafns.gperf" - {"is_standard_layout_type", METAFN_IS_STANDARD_LAYOUT_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 539 "metafns.gperf" - {"is_member_object_pointer_type", METAFN_IS_MEMBER_OBJECT_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 564 "metafns.gperf" - {"is_consteval_only_type", METAFN_IS_CONSTEVAL_ONLY_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 484 "metafns.gperf" - {"is_operator_function_template", METAFN_IS_OPERATOR_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,}, -#line 628 "metafns.gperf" - {"remove_extent", METAFN_REMOVE_EXTENT, METAFN_KIND_INFO_TINFO,}, -#line 500 "metafns.gperf" - {"has_template_arguments", METAFN_HAS_TEMPLATE_ARGUMENTS, METAFN_KIND_BOOL_INFO,}, -#line 562 "metafns.gperf" - {"is_final_type", METAFN_IS_FINAL_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 535 "metafns.gperf" - {"is_array_type", METAFN_IS_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 602 "metafns.gperf" - {"reference_constructs_from_temporary", METAFN_REFERENCE_CONSTRUCTS_FROM_TEMPORARY, METAFN_KIND_BOOL_TINFO_TINFO,}, -#line 513 "metafns.gperf" - {"nonstatic_data_members_of", METAFN_NONSTATIC_DATA_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,}, -#line 637 "metafns.gperf" - {"invoke_result", METAFN_INVOKE_RESULT, METAFN_KIND_INFO_TINFO_REFLECTION_RANGET,}, -#line 632 "metafns.gperf" - {"remove_cvref", METAFN_REMOVE_CVREF, METAFN_KIND_INFO_TINFO,}, -#line 633 "metafns.gperf" - {"decay", METAFN_DECAY, METAFN_KIND_INFO_TINFO,}, -#line 561 "metafns.gperf" - {"is_abstract_type", METAFN_IS_ABSTRACT_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 639 "metafns.gperf" - {"unwrap_ref_decay", METAFN_UNWRAP_REF_DECAY, METAFN_KIND_INFO_TINFO,}, -#line 447 "metafns.gperf" - {"has_thread_storage_duration", METAFN_HAS_THREAD_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,}, -#line 630 "metafns.gperf" - {"remove_pointer", METAFN_REMOVE_POINTER, METAFN_KIND_INFO_TINFO,}, -#line 415 "metafns.gperf" - {"u8symbol_of", METAFN_U8SYMBOL_OF, METAFN_KIND_U8STRING_VIEW_OPERATORS,}, -#line 617 "metafns.gperf" - {"remove_const", METAFN_REMOVE_CONST, METAFN_KIND_INFO_TINFO,}, -#line 629 "metafns.gperf" - {"remove_all_extents", METAFN_REMOVE_ALL_EXTENTS, METAFN_KIND_INFO_TINFO,}, -#line 530 "metafns.gperf" - {"define_aggregate", METAFN_DEFINE_AGGREGATE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,}, -#line 568 "metafns.gperf" - {"is_unbounded_array_type", METAFN_IS_UNBOUNDED_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 527 "metafns.gperf" - {"reflect_constant_array", METAFN_REFLECT_CONSTANT_ARRAY, METAFN_KIND_INFO_INPUT_RANGE,}, -#line 648 "metafns.gperf" - {"_S_exception_cvt_to_utf8", METAFN_EXCEPTION__S_EXCEPTION_CVT_TO_UTF8, METAFN_KIND_U8STRING_VIEW_INPUT_RANGE,}, -#line 649 "metafns.gperf" - {"_S_exception_cvt_from_utf8", METAFN_EXCEPTION__S_EXCEPTION_CVT_FROM_UTF8, METAFN_KIND_STRING_VIEW_INPUT_RANGE,}, -#line 418 "metafns.gperf" - {"u8identifier_of", METAFN_U8IDENTIFIER_OF, METAFN_KIND_U8STRING_VIEW_INFO,}, -#line 434 "metafns.gperf" - {"is_user_provided", METAFN_IS_USER_PROVIDED, METAFN_KIND_BOOL_INFO,}, + {"is_void_type", METAFN_IS_VOID_TYPE, METAFN_KIND_BOOL_TINFO,}, #line 533 "metafns.gperf" - {"is_integral_type", METAFN_IS_INTEGRAL_TYPE, METAFN_KIND_BOOL_TINFO,}, -#line 421 "metafns.gperf" - {"source_location_of", METAFN_SOURCE_LOCATION_OF, METAFN_KIND_SOURCE_LOCATION_INFO,}, -#line 618 "metafns.gperf" - {"remove_volatile", METAFN_REMOVE_VOLATILE, METAFN_KIND_INFO_TINFO,}, -#line 646 "metafns.gperf" - {"annotations_of_with_type", METAFN_ANNOTATIONS_OF_WITH_TYPE, METAFN_KIND_VECTOR_INFO_INFO_INFO,}, -#line 542 "metafns.gperf" - {"is_union_type", METAFN_IS_UNION_TYPE, METAFN_KIND_BOOL_TINFO,}, + {"is_pointer_type", METAFN_IS_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 439 "metafns.gperf" + {"is_volatile", METAFN_IS_VOLATILE, METAFN_KIND_BOOL_INFO,}, +#line 485 "metafns.gperf" + {"is_value", METAFN_IS_VALUE, METAFN_KIND_BOOL_INFO,}, +#line 492 "metafns.gperf" + {"is_base", METAFN_IS_BASE, METAFN_KIND_BOOL_INFO,}, +#line 453 "metafns.gperf" + {"is_variable", METAFN_IS_VARIABLE, METAFN_KIND_BOOL_INFO,}, +#line 604 "metafns.gperf" + {"is_nothrow_convertible_type", METAFN_IS_NOTHROW_CONVERTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 583 "metafns.gperf" + {"is_nothrow_constructible_type", METAFN_IS_NOTHROW_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,}, +#line 609 "metafns.gperf" + {"is_nothrow_invocable_type", METAFN_IS_NOTHROW_INVOCABLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,}, +#line 588 "metafns.gperf" + {"is_nothrow_copy_assignable_type", METAFN_IS_NOTHROW_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 610 "metafns.gperf" + {"is_nothrow_invocable_r_type", METAFN_IS_NOTHROW_INVOCABLE_R_TYPE, METAFN_KIND_BOOL_TINFO_TINFO_REFLECTION_RANGET,}, +#line 585 "metafns.gperf" + {"is_nothrow_copy_constructible_type", METAFN_IS_NOTHROW_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 601 "metafns.gperf" + {"is_base_of_type", METAFN_IS_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 589 "metafns.gperf" + {"is_nothrow_move_assignable_type", METAFN_IS_NOTHROW_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 586 "metafns.gperf" + {"is_nothrow_move_constructible_type", METAFN_IS_NOTHROW_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 477 "metafns.gperf" + {"is_variable_template", METAFN_IS_VARIABLE_TEMPLATE, METAFN_KIND_BOOL_INFO,}, +#line 636 "metafns.gperf" + {"variant_size", METAFN_VARIANT_SIZE, METAFN_KIND_SIZE_T_TINFO,}, +#line 529 "metafns.gperf" + {"is_null_pointer_type", METAFN_IS_NULL_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 454 "metafns.gperf" + {"is_type", METAFN_IS_TYPE, METAFN_KIND_BOOL_INFO,}, +#line 422 "metafns.gperf" + {"is_public", METAFN_IS_PUBLIC, METAFN_KIND_BOOL_INFO,}, +#line 434 "metafns.gperf" + {"is_noexcept", METAFN_IS_NOEXCEPT, METAFN_KIND_BOOL_INFO,}, +#line 517 "metafns.gperf" + {"extract", METAFN_EXTRACT, METAFN_KIND_TEMPLATE_PARM_INFO,}, +#line 637 "metafns.gperf" + {"variant_alternative", METAFN_VARIANT_ALTERNATIVE, METAFN_KIND_INFO_SIZE_T_TINFO,}, +#line 555 "metafns.gperf" + {"is_polymorphic_type", METAFN_IS_POLYMORPHIC_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 424 "metafns.gperf" + {"is_private", METAFN_IS_PRIVATE, METAFN_KIND_BOOL_INFO,}, +#line 458 "metafns.gperf" + {"is_function", METAFN_IS_FUNCTION, METAFN_KIND_BOOL_INFO,}, +#line 455 "metafns.gperf" + {"is_namespace", METAFN_IS_NAMESPACE, METAFN_KIND_BOOL_INFO,}, +#line 606 "metafns.gperf" + {"is_pointer_interconvertible_base_of_type", METAFN_IS_POINTER_INTERCONVERTIBLE_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 562 "metafns.gperf" + {"is_bounded_array_type", METAFN_IS_BOUNDED_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 438 "metafns.gperf" + {"is_const", METAFN_IS_CONST, METAFN_KIND_BOOL_INFO,}, +#line 484 "metafns.gperf" + {"is_concept", METAFN_IS_CONCEPT, METAFN_KIND_BOOL_INFO,}, +#line 600 "metafns.gperf" + {"is_same_type", METAFN_IS_SAME_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 508 "metafns.gperf" + {"bases_of", METAFN_BASES_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,}, +#line 447 "metafns.gperf" + {"has_module_linkage", METAFN_HAS_MODULE_LINKAGE, METAFN_KIND_BOOL_INFO,}, +#line 476 "metafns.gperf" + {"is_function_template", METAFN_IS_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,}, +#line 587 "metafns.gperf" + {"is_nothrow_assignable_type", METAFN_IS_NOTHROW_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 459 "metafns.gperf" + {"is_conversion_function", METAFN_IS_CONVERSION_FUNCTION, METAFN_KIND_BOOL_INFO,}, +#line 592 "metafns.gperf" + {"is_nothrow_destructible_type", METAFN_IS_NOTHROW_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 603 "metafns.gperf" + {"is_convertible_type", METAFN_IS_CONVERTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 593 "metafns.gperf" + {"is_implicit_lifetime_type", METAFN_IS_IMPLICIT_LIFETIME_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 475 "metafns.gperf" + {"is_template", METAFN_IS_TEMPLATE, METAFN_KIND_BOOL_INFO,}, +#line 584 "metafns.gperf" + {"is_nothrow_default_constructible_type", METAFN_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, #line 518 "metafns.gperf" - {"alignment_of", METAFN_ALIGNMENT_OF, METAFN_KIND_SIZE_T_INFO,}, -#line 645 "metafns.gperf" - {"annotations_of", METAFN_ANNOTATIONS_OF, METAFN_KIND_VECTOR_INFO_INFO,}, + {"can_substitute", METAFN_CAN_SUBSTITUTE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,}, +#line 480 "metafns.gperf" + {"is_conversion_function_template", METAFN_IS_CONVERSION_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,}, +#line 411 "metafns.gperf" + {"symbol_of", METAFN_SYMBOL_OF, METAFN_KIND_STRING_VIEW_OPERATORS,}, +#line 567 "metafns.gperf" + {"is_copy_constructible_type", METAFN_IS_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 565 "metafns.gperf" + {"is_constructible_type", METAFN_IS_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,}, +#line 445 "metafns.gperf" + {"has_automatic_storage_duration", METAFN_HAS_AUTOMATIC_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,}, +#line 570 "metafns.gperf" + {"is_copy_assignable_type", METAFN_IS_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 634 "metafns.gperf" + {"tuple_size", METAFN_TUPLE_SIZE, METAFN_KIND_SIZE_T_TINFO,}, +#line 456 "metafns.gperf" + {"is_type_alias", METAFN_IS_TYPE_ALIAS, METAFN_KIND_BOOL_INFO,}, +#line 465 "metafns.gperf" + {"is_copy_constructor", METAFN_IS_COPY_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,}, +#line 501 "metafns.gperf" + {"variable_of", METAFN_VARIABLE_OF, METAFN_KIND_INFO_INFO,}, +#line 494 "metafns.gperf" + {"has_parent", METAFN_HAS_PARENT, METAFN_KIND_BOOL_INFO,}, +#line 542 "metafns.gperf" + {"is_reflection_type", METAFN_IS_REFLECTION_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 545 "metafns.gperf" + {"is_fundamental_type", METAFN_IS_FUNDAMENTAL_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 605 "metafns.gperf" + {"is_layout_compatible_type", METAFN_IS_LAYOUT_COMPATIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 516 "metafns.gperf" + {"bit_size_of", METAFN_BIT_SIZE_OF, METAFN_KIND_SIZE_T_INFO,}, +#line 468 "metafns.gperf" + {"is_copy_assignment", METAFN_IS_COPY_ASSIGNMENT, METAFN_KIND_BOOL_INFO,}, +#line 641 "metafns.gperf" + {"current", METAFN_ACCESS_CONTEXT_CURRENT, METAFN_KIND_ACCESS_CONTEXT_VOID,}, +#line 628 "metafns.gperf" + {"common_type", METAFN_COMMON_TYPE, METAFN_KIND_INFO_REFLECTION_RANGET,}, +#line 483 "metafns.gperf" + {"is_constructor_template", METAFN_IS_CONSTRUCTOR_TEMPLATE, METAFN_KIND_BOOL_INFO,}, +#line 638 "metafns.gperf" + {"type_order", METAFN_TYPE_ORDER, METAFN_KIND_STRONG_ORDERING_TINFO_TINFO,}, +#line 629 "metafns.gperf" + {"common_reference", METAFN_COMMON_REFERENCE, METAFN_KIND_INFO_REFLECTION_RANGET,}, +#line 493 "metafns.gperf" + {"has_default_member_initializer", METAFN_HAS_DEFAULT_MEMBER_INITIALIZER, METAFN_KIND_BOOL_INFO,}, +#line 635 "metafns.gperf" + {"tuple_element", METAFN_TUPLE_ELEMENT, METAFN_KIND_INFO_SIZE_T_TINFO,}, +#line 522 "metafns.gperf" + {"reflect_function", METAFN_REFLECT_FUNCTION, METAFN_KIND_INFO_TEMPLATE_PARM_REF,}, +#line 473 "metafns.gperf" + {"has_default_argument", METAFN_HAS_DEFAULT_ARGUMENT, METAFN_KIND_BOOL_INFO,}, +#line 568 "metafns.gperf" + {"is_move_constructible_type", METAFN_IS_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 419 "metafns.gperf" + {"type_of", METAFN_TYPE_OF, METAFN_KIND_INFO_INFO,}, +#line 463 "metafns.gperf" + {"is_constructor", METAFN_IS_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,}, +#line 573 "metafns.gperf" + {"is_swappable_type", METAFN_IS_SWAPPABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 591 "metafns.gperf" + {"is_nothrow_swappable_type", METAFN_IS_NOTHROW_SWAPPABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 543 "metafns.gperf" + {"is_reference_type", METAFN_IS_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 450 "metafns.gperf" + {"has_linkage", METAFN_HAS_LINKAGE, METAFN_KIND_BOOL_INFO,}, +#line 590 "metafns.gperf" + {"is_nothrow_swappable_with_type", METAFN_IS_NOTHROW_SWAPPABLE_WITH_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 549 "metafns.gperf" + {"is_member_pointer_type", METAFN_IS_MEMBER_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 571 "metafns.gperf" + {"is_move_assignable_type", METAFN_IS_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 474 "metafns.gperf" + {"has_ellipsis_parameter", METAFN_HAS_ELLIPSIS_PARAMETER, METAFN_KIND_BOOL_INFO,}, +#line 466 "metafns.gperf" + {"is_move_constructor", METAFN_IS_MOVE_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,}, +#line 500 "metafns.gperf" + {"parameters_of", METAFN_PARAMETERS_OF, METAFN_KIND_VECTOR_INFO_INFO,}, +#line 514 "metafns.gperf" + {"size_of", METAFN_SIZE_OF, METAFN_KIND_SIZE_T_INFO,}, +#line 469 "metafns.gperf" + {"is_move_assignment", METAFN_IS_MOVE_ASSIGNMENT, METAFN_KIND_BOOL_INFO,}, +#line 569 "metafns.gperf" + {"is_assignable_type", METAFN_IS_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 488 "metafns.gperf" + {"is_class_member", METAFN_IS_CLASS_MEMBER, METAFN_KIND_BOOL_INFO,}, +#line 552 "metafns.gperf" + {"is_trivially_copyable_type", METAFN_IS_TRIVIALLY_COPYABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 467 "metafns.gperf" + {"is_assignment", METAFN_IS_ASSIGNMENT, METAFN_KIND_BOOL_INFO,}, +#line 489 "metafns.gperf" + {"is_namespace_member", METAFN_IS_NAMESPACE_MEMBER, METAFN_KIND_BOOL_INFO,}, +#line 507 "metafns.gperf" + {"members_of", METAFN_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,}, +#line 575 "metafns.gperf" + {"is_trivially_constructible_type", METAFN_IS_TRIVIALLY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,}, +#line 580 "metafns.gperf" + {"is_trivially_copy_assignable_type", METAFN_IS_TRIVIALLY_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 577 "metafns.gperf" + {"is_trivially_copy_constructible_type", METAFN_IS_TRIVIALLY_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 599 "metafns.gperf" + {"extent", METAFN_EXTENT, METAFN_KIND_SIZE_T_TINFO_UNSIGNED,}, +#line 538 "metafns.gperf" + {"is_enum_type", METAFN_IS_ENUM_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 498 "metafns.gperf" + {"template_of", METAFN_TEMPLATE_OF, METAFN_KIND_INFO_INFO,}, +#line 478 "metafns.gperf" + {"is_class_template", METAFN_IS_CLASS_TEMPLATE, METAFN_KIND_BOOL_INFO,}, +#line 462 "metafns.gperf" + {"is_special_member_function", METAFN_IS_SPECIAL_MEMBER_FUNCTION, METAFN_KIND_BOOL_INFO,}, +#line 423 "metafns.gperf" + {"is_protected", METAFN_IS_PROTECTED, METAFN_KIND_BOOL_INFO,}, +#line 490 "metafns.gperf" + {"is_nonstatic_data_member", METAFN_IS_NONSTATIC_DATA_MEMBER, METAFN_KIND_BOOL_INFO,}, +#line 632 "metafns.gperf" + {"unwrap_reference", METAFN_UNWRAP_REFERENCE, METAFN_KIND_INFO_TINFO,}, +#line 452 "metafns.gperf" + {"is_enumerable_type", METAFN_IS_ENUMERABLE_TYPE, METAFN_KIND_BOOL_INFO,}, +#line 544 "metafns.gperf" + {"is_arithmetic_type", METAFN_IS_ARITHMETIC_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 495 "metafns.gperf" + {"parent_of", METAFN_PARENT_OF, METAFN_KIND_INFO_INFO,}, +#line 426 "metafns.gperf" + {"is_pure_virtual", METAFN_IS_PURE_VIRTUAL, METAFN_KIND_BOOL_INFO,}, +#line 625 "metafns.gperf" + {"add_pointer", METAFN_ADD_POINTER, METAFN_KIND_INFO_TINFO,}, #line 566 "metafns.gperf" + {"is_default_constructible_type", METAFN_IS_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 630 "metafns.gperf" + {"underlying_type", METAFN_UNDERLYING_TYPE, METAFN_KIND_INFO_TINFO,}, +#line 471 "metafns.gperf" + {"is_function_parameter", METAFN_IS_FUNCTION_PARAMETER, METAFN_KIND_BOOL_INFO,}, +#line 414 "metafns.gperf" + {"identifier_of", METAFN_IDENTIFIER_OF, METAFN_KIND_STRING_VIEW_INFO,}, +#line 547 "metafns.gperf" + {"is_scalar_type", METAFN_IS_SCALAR_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 619 "metafns.gperf" + {"add_rvalue_reference", METAFN_ADD_RVALUE_REFERENCE, METAFN_KIND_INFO_TINFO,}, +#line 440 "metafns.gperf" + {"is_mutable_member", METAFN_IS_MUTABLE_MEMBER, METAFN_KIND_BOOL_INFO,}, +#line 457 "metafns.gperf" + {"is_namespace_alias", METAFN_IS_NAMESPACE_ALIAS, METAFN_KIND_BOOL_INFO,}, +#line 581 "metafns.gperf" + {"is_trivially_move_assignable_type", METAFN_IS_TRIVIALLY_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 578 "metafns.gperf" + {"is_trivially_move_constructible_type", METAFN_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 464 "metafns.gperf" + {"is_default_constructor", METAFN_IS_DEFAULT_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,}, +#line 436 "metafns.gperf" + {"is_enumerator", METAFN_IS_ENUMERATOR, METAFN_KIND_BOOL_INFO,}, +#line 486 "metafns.gperf" + {"is_object", METAFN_IS_OBJECT, METAFN_KIND_BOOL_INFO,}, +#line 558 "metafns.gperf" + {"is_aggregate_type", METAFN_IS_AGGREGATE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 470 "metafns.gperf" + {"is_destructor", METAFN_IS_DESTRUCTOR, METAFN_KIND_BOOL_INFO,}, +#line 537 "metafns.gperf" + {"is_member_function_pointer_type", METAFN_IS_MEMBER_FUNCTION_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 546 "metafns.gperf" + {"is_object_type", METAFN_IS_OBJECT_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 519 "metafns.gperf" + {"substitute", METAFN_SUBSTITUTE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,}, +#line 535 "metafns.gperf" + {"is_rvalue_reference_type", METAFN_IS_RVALUE_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 616 "metafns.gperf" + {"add_cv", METAFN_ADD_CV, METAFN_KIND_INFO_TINFO,}, +#line 520 "metafns.gperf" + {"reflect_constant", METAFN_REFLECT_CONSTANT, METAFN_KIND_INFO_TEMPLATE_PARM,}, +#line 579 "metafns.gperf" + {"is_trivially_assignable_type", METAFN_IS_TRIVIALLY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 425 "metafns.gperf" + {"is_virtual", METAFN_IS_VIRTUAL, METAFN_KIND_BOOL_INFO,}, +#line 443 "metafns.gperf" + {"has_static_storage_duration", METAFN_HAS_STATIC_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,}, +#line 618 "metafns.gperf" + {"add_lvalue_reference", METAFN_ADD_LVALUE_REFERENCE, METAFN_KIND_INFO_TINFO,}, +#line 534 "metafns.gperf" + {"is_lvalue_reference_type", METAFN_IS_LVALUE_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 512 "metafns.gperf" + {"enumerators_of", METAFN_ENUMERATORS_OF, METAFN_KIND_VECTOR_INFO_INFO,}, +#line 574 "metafns.gperf" + {"is_destructible_type", METAFN_IS_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 499 "metafns.gperf" + {"template_arguments_of", METAFN_TEMPLATE_ARGUMENTS_OF, METAFN_KIND_VECTOR_INFO_INFO,}, +#line 607 "metafns.gperf" + {"is_invocable_type", METAFN_IS_INVOCABLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,}, +#line 614 "metafns.gperf" + {"add_const", METAFN_ADD_CONST, METAFN_KIND_INFO_TINFO,}, +#line 479 "metafns.gperf" + {"is_alias_template", METAFN_IS_ALIAS_TEMPLATE, METAFN_KIND_BOOL_INFO,}, +#line 554 "metafns.gperf" + {"is_empty_type", METAFN_IS_EMPTY_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 582 "metafns.gperf" + {"is_trivially_destructible_type", METAFN_IS_TRIVIALLY_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 448 "metafns.gperf" + {"has_external_linkage", METAFN_HAS_EXTERNAL_LINKAGE, METAFN_KIND_BOOL_INFO,}, +#line 503 "metafns.gperf" + {"is_accessible", METAFN_IS_ACCESSIBLE, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,}, +#line 608 "metafns.gperf" + {"is_invocable_r_type", METAFN_IS_INVOCABLE_R_TYPE, METAFN_KIND_BOOL_TINFO_TINFO_REFLECTION_RANGET,}, +#line 602 "metafns.gperf" + {"is_virtual_base_of_type", METAFN_IS_VIRTUAL_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 551 "metafns.gperf" + {"is_volatile_type", METAFN_IS_VOLATILE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 523 "metafns.gperf" + {"reflect_constant_string", METAFN_REFLECT_CONSTANT_STRING, METAFN_KIND_INFO_INPUT_RANGE,}, +#line 576 "metafns.gperf" + {"is_trivially_default_constructible_type", METAFN_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 482 "metafns.gperf" + {"is_literal_operator_template", METAFN_IS_LITERAL_OPERATOR_TEMPLATE, METAFN_KIND_BOOL_INFO,}, +#line 410 "metafns.gperf" + {"operator_of", METAFN_OPERATOR_OF, METAFN_KIND_OPERATORS_INFO,}, +#line 560 "metafns.gperf" + {"is_signed_type", METAFN_IS_SIGNED_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 564 "metafns.gperf" + {"is_scoped_enum_type", METAFN_IS_SCOPED_ENUM_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 572 "metafns.gperf" + {"is_swappable_with_type", METAFN_IS_SWAPPABLE_WITH_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 511 "metafns.gperf" + {"subobjects_of", METAFN_SUBOBJECTS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,}, +#line 513 "metafns.gperf" + {"offset_of", METAFN_OFFSET_OF, METAFN_KIND_MEMBER_OFFSET_INFO,}, +#line 487 "metafns.gperf" + {"is_structured_binding", METAFN_IS_STRUCTURED_BINDING, METAFN_KIND_BOOL_INFO,}, +#line 428 "metafns.gperf" + {"is_final", METAFN_IS_FINAL, METAFN_KIND_BOOL_INFO,}, +#line 461 "metafns.gperf" + {"is_literal_operator", METAFN_IS_LITERAL_OPERATOR, METAFN_KIND_BOOL_INFO,}, +#line 621 "metafns.gperf" + {"make_unsigned", METAFN_MAKE_UNSIGNED, METAFN_KIND_INFO_TINFO,}, +#line 417 "metafns.gperf" + {"u8display_string_of", METAFN_U8DISPLAY_STRING_OF, METAFN_KIND_U8STRING_VIEW_INFO,}, +#line 594 "metafns.gperf" + {"has_virtual_destructor", METAFN_HAS_VIRTUAL_DESTRUCTOR, METAFN_KIND_BOOL_TINFO,}, +#line 550 "metafns.gperf" + {"is_const_type", METAFN_IS_CONST_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 433 "metafns.gperf" + {"is_explicit", METAFN_IS_EXPLICIT, METAFN_KIND_BOOL_INFO,}, +#line 526 "metafns.gperf" + {"is_data_member_spec", METAFN_IS_DATA_MEMBER_SPEC, METAFN_KIND_BOOL_INFO,}, +#line 451 "metafns.gperf" + {"is_complete_type", METAFN_IS_COMPLETE_TYPE, METAFN_KIND_BOOL_INFO,}, +#line 437 "metafns.gperf" + {"is_annotation", METAFN_IS_ANNOTATION, METAFN_KIND_BOOL_INFO,}, +#line 541 "metafns.gperf" + {"is_function_type", METAFN_IS_FUNCTION_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 502 "metafns.gperf" + {"return_type_of", METAFN_RETURN_TYPE_OF, METAFN_KIND_INFO_INFO,}, +#line 429 "metafns.gperf" + {"is_deleted", METAFN_IS_DELETED, METAFN_KIND_BOOL_INFO,}, +#line 421 "metafns.gperf" + {"constant_of", METAFN_CONSTANT_OF, METAFN_KIND_INFO_INFO,}, +#line 615 "metafns.gperf" + {"add_volatile", METAFN_ADD_VOLATILE, METAFN_KIND_INFO_TINFO,}, +#line 430 "metafns.gperf" + {"is_defaulted", METAFN_IS_DEFAULTED, METAFN_KIND_BOOL_INFO,}, +#line 595 "metafns.gperf" + {"has_unique_object_representations", METAFN_HAS_UNIQUE_OBJECT_REPRESENTATIONS, METAFN_KIND_BOOL_TINFO,}, +#line 536 "metafns.gperf" + {"is_member_object_pointer_type", METAFN_IS_MEMBER_OBJECT_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 416 "metafns.gperf" + {"display_string_of", METAFN_DISPLAY_STRING_OF, METAFN_KIND_STRING_VIEW_INFO,}, +#line 472 "metafns.gperf" + {"is_explicit_object_parameter", METAFN_IS_EXPLICIT_OBJECT_PARAMETER, METAFN_KIND_BOOL_INFO,}, +#line 491 "metafns.gperf" + {"is_static_member", METAFN_IS_STATIC_MEMBER, METAFN_KIND_BOOL_INFO,}, +#line 420 "metafns.gperf" + {"object_of", METAFN_OBJECT_OF, METAFN_KIND_INFO_INFO,}, +#line 559 "metafns.gperf" + {"is_consteval_only_type", METAFN_IS_CONSTEVAL_ONLY_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 427 "metafns.gperf" + {"is_override", METAFN_IS_OVERRIDE, METAFN_KIND_BOOL_INFO,}, +#line 613 "metafns.gperf" + {"remove_cv", METAFN_REMOVE_CV, METAFN_KIND_INFO_TINFO,}, +#line 521 "metafns.gperf" + {"reflect_object", METAFN_REFLECT_OBJECT, METAFN_KIND_INFO_TEMPLATE_PARM_REF,}, +#line 531 "metafns.gperf" + {"is_floating_point_type", METAFN_IS_FLOATING_POINT_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 413 "metafns.gperf" + {"has_identifier", METAFN_HAS_IDENTIFIER, METAFN_KIND_BOOL_INFO,}, +#line 617 "metafns.gperf" + {"remove_reference", METAFN_REMOVE_REFERENCE, METAFN_KIND_INFO_TINFO,}, +#line 505 "metafns.gperf" + {"has_inaccessible_bases", METAFN_HAS_INACCESSIBLE_BASES, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,}, +#line 449 "metafns.gperf" + {"has_c_language_linkage", METAFN_HAS_C_LANGUAGE_LINKAGE, METAFN_KIND_BOOL_INFO,}, +#line 506 "metafns.gperf" + {"has_inaccessible_subobjects", METAFN_HAS_INACCESSIBLE_SUBOBJECTS, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,}, +#line 622 "metafns.gperf" + {"remove_extent", METAFN_REMOVE_EXTENT, METAFN_KIND_INFO_TINFO,}, +#line 504 "metafns.gperf" + {"has_inaccessible_nonstatic_data_members", METAFN_HAS_INACCESSIBLE_NONSTATIC_DATA_MEMBERS, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,}, +#line 442 "metafns.gperf" + {"is_rvalue_reference_qualified", METAFN_IS_RVALUE_REFERENCE_QUALIFIED, METAFN_KIND_BOOL_INFO,}, +#line 597 "metafns.gperf" + {"reference_converts_from_temporary", METAFN_REFERENCE_CONVERTS_FROM_TEMPORARY, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 540 "metafns.gperf" + {"is_class_type", METAFN_IS_CLASS_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 432 "metafns.gperf" + {"is_user_declared", METAFN_IS_USER_DECLARED, METAFN_KIND_BOOL_INFO,}, +#line 525 "metafns.gperf" + {"data_member_spec", METAFN_DATA_MEMBER_SPEC, METAFN_KIND_INFO_TINFO_DATA_MEMBER_OPTIONS,}, +#line 441 "metafns.gperf" + {"is_lvalue_reference_qualified", METAFN_IS_LVALUE_REFERENCE_QUALIFIED, METAFN_KIND_BOOL_INFO,}, +#line 444 "metafns.gperf" + {"has_thread_storage_duration", METAFN_HAS_THREAD_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,}, +#line 435 "metafns.gperf" + {"is_bit_field", METAFN_IS_BIT_FIELD, METAFN_KIND_BOOL_INFO,}, +#line 626 "metafns.gperf" + {"remove_cvref", METAFN_REMOVE_CVREF, METAFN_KIND_INFO_TINFO,}, +#line 631 "metafns.gperf" + {"invoke_result", METAFN_INVOKE_RESULT, METAFN_KIND_INFO_TINFO_REFLECTION_RANGET,}, +#line 497 "metafns.gperf" + {"has_template_arguments", METAFN_HAS_TEMPLATE_ARGUMENTS, METAFN_KIND_BOOL_INFO,}, +#line 460 "metafns.gperf" + {"is_operator_function", METAFN_IS_OPERATOR_FUNCTION, METAFN_KIND_BOOL_INFO,}, +#line 624 "metafns.gperf" + {"remove_pointer", METAFN_REMOVE_POINTER, METAFN_KIND_INFO_TINFO,}, +#line 496 "metafns.gperf" + {"dealias", METAFN_DEALIAS, METAFN_KIND_INFO_INFO,}, +#line 611 "metafns.gperf" + {"remove_const", METAFN_REMOVE_CONST, METAFN_KIND_INFO_TINFO,}, +#line 481 "metafns.gperf" + {"is_operator_function_template", METAFN_IS_OPERATOR_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,}, +#line 596 "metafns.gperf" + {"reference_constructs_from_temporary", METAFN_REFERENCE_CONSTRUCTS_FROM_TEMPORARY, METAFN_KIND_BOOL_TINFO_TINFO,}, +#line 623 "metafns.gperf" + {"remove_all_extents", METAFN_REMOVE_ALL_EXTENTS, METAFN_KIND_INFO_TINFO,}, +#line 532 "metafns.gperf" + {"is_array_type", METAFN_IS_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 446 "metafns.gperf" + {"has_internal_linkage", METAFN_HAS_INTERNAL_LINKAGE, METAFN_KIND_BOOL_INFO,}, +#line 620 "metafns.gperf" + {"make_signed", METAFN_MAKE_SIGNED, METAFN_KIND_INFO_TINFO,}, +#line 509 "metafns.gperf" + {"static_data_members_of", METAFN_STATIC_DATA_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,}, +#line 548 "metafns.gperf" + {"is_compound_type", METAFN_IS_COMPOUND_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 556 "metafns.gperf" + {"is_abstract_type", METAFN_IS_ABSTRACT_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 527 "metafns.gperf" + {"define_aggregate", METAFN_DEFINE_AGGREGATE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,}, +#line 642 "metafns.gperf" + {"_S_exception_cvt_to_utf8", METAFN_EXCEPTION__S_EXCEPTION_CVT_TO_UTF8, METAFN_KIND_U8STRING_VIEW_INPUT_RANGE,}, +#line 643 "metafns.gperf" + {"_S_exception_cvt_from_utf8", METAFN_EXCEPTION__S_EXCEPTION_CVT_FROM_UTF8, METAFN_KIND_STRING_VIEW_INPUT_RANGE,}, +#line 563 "metafns.gperf" + {"is_unbounded_array_type", METAFN_IS_UNBOUNDED_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 553 "metafns.gperf" + {"is_standard_layout_type", METAFN_IS_STANDARD_LAYOUT_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 633 "metafns.gperf" + {"unwrap_ref_decay", METAFN_UNWRAP_REF_DECAY, METAFN_KIND_INFO_TINFO,}, +#line 524 "metafns.gperf" + {"reflect_constant_array", METAFN_REFLECT_CONSTANT_ARRAY, METAFN_KIND_INFO_INPUT_RANGE,}, +#line 412 "metafns.gperf" + {"u8symbol_of", METAFN_U8SYMBOL_OF, METAFN_KIND_U8STRING_VIEW_OPERATORS,}, +#line 530 "metafns.gperf" + {"is_integral_type", METAFN_IS_INTEGRAL_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 510 "metafns.gperf" + {"nonstatic_data_members_of", METAFN_NONSTATIC_DATA_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,}, +#line 627 "metafns.gperf" + {"decay", METAFN_DECAY, METAFN_KIND_INFO_TINFO,}, +#line 557 "metafns.gperf" + {"is_final_type", METAFN_IS_FINAL_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 612 "metafns.gperf" + {"remove_volatile", METAFN_REMOVE_VOLATILE, METAFN_KIND_INFO_TINFO,}, +#line 515 "metafns.gperf" + {"alignment_of", METAFN_ALIGNMENT_OF, METAFN_KIND_SIZE_T_INFO,}, +#line 418 "metafns.gperf" + {"source_location_of", METAFN_SOURCE_LOCATION_OF, METAFN_KIND_SOURCE_LOCATION_INFO,}, +#line 640 "metafns.gperf" + {"annotations_of_with_type", METAFN_ANNOTATIONS_OF_WITH_TYPE, METAFN_KIND_VECTOR_INFO_INFO_INFO,}, +#line 415 "metafns.gperf" + {"u8identifier_of", METAFN_U8IDENTIFIER_OF, METAFN_KIND_U8STRING_VIEW_INFO,}, +#line 639 "metafns.gperf" + {"annotations_of", METAFN_ANNOTATIONS_OF, METAFN_KIND_VECTOR_INFO_INFO,}, +#line 539 "metafns.gperf" + {"is_union_type", METAFN_IS_UNION_TYPE, METAFN_KIND_BOOL_TINFO,}, +#line 431 "metafns.gperf" + {"is_user_provided", METAFN_IS_USER_PROVIDED, METAFN_KIND_BOOL_INFO,}, +#line 561 "metafns.gperf" {"is_unsigned_type", METAFN_IS_UNSIGNED_TYPE, METAFN_KIND_BOOL_TINFO,} }; +#if (defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 6) > 4) || (defined __clang__ && __clang_major__ >= 3) +#pragma GCC diagnostic pop +#endif static const short lookup[] = { @@ -1013,64 +1031,76 @@ metafn_lookup::find (const char *str, size_t len) 16, -1, 17, -1, -1, 18, -1, 19, -1, 20, -1, 21, 22, -1, 23, -1, -1, -1, -1, 24, 25, 26, 27, -1, -1, 28, 29, -1, 30, -1, - 31, -1, 32, 33, -1, -1, -1, -1, -1, -1, - 34, 35, 36, 37, 38, 39, -1, 40, -1, -1, - -1, 41, 42, -1, 43, -1, 44, -1, 45, 46, - -1, 47, -1, -1, -1, 48, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 49, -1, 50, -1, - -1, -1, -1, 51, 52, 53, 54, -1, 55, -1, - -1, 56, -1, 57, 58, 59, -1, 60, -1, -1, - 61, 62, -1, 63, -1, -1, 64, 65, -1, -1, - -1, -1, 66, 67, 68, 69, 70, -1, -1, -1, - 71, 72, -1, -1, 73, 74, -1, -1, -1, 75, - 76, -1, 77, 78, -1, -1, 79, 80, 81, 82, - 83, 84, 85, 86, 87, -1, 88, -1, 89, 90, - 91, -1, 92, 93, -1, -1, 94, -1, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, -1, -1, - -1, 105, 106, 107, -1, -1, 108, 109, 110, -1, - -1, 111, -1, -1, 112, 113, -1, 114, 115, -1, - 116, -1, 117, 118, -1, 119, 120, 121, 122, 123, - 124, -1, -1, -1, 125, 126, 127, 128, 129, -1, - 130, 131, -1, -1, -1, -1, -1, -1, -1, 132, - -1, -1, 133, -1, 134, -1, -1, 135, 136, 137, - -1, -1, -1, 138, 139, 140, 141, 142, -1, -1, - -1, 143, 144, 145, -1, -1, 146, 147, -1, 148, - -1, 149, 150, 151, -1, 152, -1, -1, 153, 154, - -1, 155, -1, 156, 157, -1, -1, 158, 159, -1, - 160, -1, 161, -1, 162, 163, 164, -1, -1, 165, - -1, -1, 166, -1, 167, 168, 169, -1, -1, 170, - -1, 171, 172, 173, -1, -1, 174, -1, -1, -1, - 175, 176, 177, -1, -1, -1, 178, 179, -1, -1, - -1, -1, 180, 181, 182, -1, -1, -1, -1, 183, - -1, -1, 184, -1, 185, -1, -1, -1, -1, -1, - -1, 186, -1, -1, -1, -1, -1, -1, 187, 188, - -1, 189, -1, -1, -1, -1, 190, -1, 191, -1, - -1, -1, -1, -1, -1, 192, 193, -1, -1, -1, - -1, 194, 195, -1, 196, -1, -1, -1, -1, 197, - -1, -1, 198, -1, -1, 199, 200, -1, -1, -1, - -1, -1, 201, 202, 203, -1, -1, 204, -1, 205, - -1, -1, -1, 206, -1, -1, -1, 207, -1, -1, - -1, 208, -1, -1, -1, -1, -1, 209, -1, -1, - -1, -1, -1, -1, 210, 211, -1, -1, 212, -1, - -1, -1, 213, -1, 214, 215, -1, -1, -1, -1, - 216, -1, 217, -1, 218, -1, -1, -1, -1, -1, - 219, -1, 220, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 221, -1, -1, 222, -1, -1, -1, + 31, -1, 32, 33, -1, 34, -1, -1, -1, -1, + 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, + -1, 41, 42, -1, 43, -1, 44, -1, -1, 45, + -1, 46, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 47, 48, 49, -1, + 50, -1, -1, 51, 52, -1, 53, 54, 55, 56, + 57, 58, -1, 59, -1, -1, -1, 60, -1, -1, + -1, 61, -1, 62, -1, 63, 64, 65, 66, -1, + -1, 67, -1, -1, -1, -1, -1, 68, -1, -1, + -1, 69, 70, -1, 71, -1, -1, 72, -1, -1, + 73, -1, 74, 75, -1, 76, -1, 77, 78, 79, + -1, -1, -1, -1, 80, -1, -1, -1, 81, -1, + -1, -1, 82, 83, -1, -1, -1, -1, 84, -1, + 85, 86, -1, 87, 88, 89, 90, -1, 91, -1, + -1, 92, -1, -1, -1, -1, 93, 94, -1, -1, + -1, 95, 96, -1, -1, -1, 97, 98, -1, -1, + -1, -1, -1, -1, 99, -1, 100, -1, 101, -1, + -1, -1, -1, 102, 103, 104, 105, -1, -1, 106, + 107, 108, -1, -1, -1, -1, -1, -1, 109, 110, + 111, -1, 112, 113, -1, -1, -1, -1, 114, -1, + -1, 115, 116, 117, 118, -1, -1, -1, -1, 119, + -1, -1, -1, 120, -1, -1, 121, -1, -1, 122, + 123, -1, -1, 124, -1, -1, 125, -1, -1, -1, + -1, 126, -1, 127, -1, -1, -1, -1, 128, 129, + 130, -1, -1, 131, 132, 133, 134, 135, -1, 136, + -1, -1, 137, -1, 138, 139, -1, 140, 141, 142, + -1, 143, 144, 145, 146, -1, 147, -1, -1, -1, + -1, 148, 149, -1, 150, -1, 151, -1, 152, 153, + -1, 154, -1, -1, -1, -1, 155, 156, 157, 158, + -1, -1, -1, 159, 160, -1, -1, 161, -1, 162, + -1, -1, 163, 164, -1, -1, -1, -1, -1, -1, + -1, -1, 165, -1, 166, 167, 168, -1, -1, -1, + -1, 169, 170, 171, 172, -1, -1, 173, -1, -1, + -1, -1, -1, -1, 174, -1, 175, -1, -1, 176, + -1, -1, 177, -1, -1, 178, -1, -1, -1, -1, + -1, -1, -1, 179, -1, -1, -1, 180, -1, -1, + -1, -1, 181, -1, 182, 183, -1, 184, -1, 185, + -1, -1, 186, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 187, -1, 188, -1, -1, -1, 189, 190, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 191, + -1, 192, -1, -1, -1, -1, 193, -1, 194, 195, + 196, 197, -1, 198, -1, -1, -1, -1, -1, 199, + 200, -1, -1, 201, -1, -1, -1, -1, -1, -1, + 202, 203, -1, -1, 204, -1, -1, -1, -1, -1, + -1, 205, 206, -1, -1, -1, -1, -1, -1, 207, + 208, 209, -1, -1, -1, 210, -1, -1, -1, -1, + -1, -1, 211, -1, -1, -1, -1, 212, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 223, -1, -1, 224, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 225, -1, - 226, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 227, -1, -1, -1, -1, + -1, 213, -1, -1, -1, 214, -1, 215, 216, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 217, -1, + -1, -1, -1, -1, -1, -1, -1, 218, -1, -1, + -1, -1, -1, 219, -1, -1, -1, 220, -1, -1, + -1, -1, 221, -1, -1, -1, -1, -1, -1, -1, + 222, -1, -1, -1, -1, -1, 223, -1, -1, -1, + -1, -1, 224, -1, -1, -1, -1, -1, -1, 225, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 228, -1, -1, -1, -1, -1, -1, -1, -1, - 229, -1, -1, 230, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 231, -1, -1, -1, -1, -1, -1, -1, -1, 232, + -1, -1, 226, -1, -1, -1, -1, -1, 227, -1, + -1, -1, -1, -1, 228, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 229, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 233, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 234, -1, 235, + -1, -1, -1, -1, 230, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 231, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 232, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -1078,7 +1108,11 @@ metafn_lookup::find (const char *str, size_t len) -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 236 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 233 }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) @@ -1098,5 +1132,5 @@ metafn_lookup::find (const char *str, size_t len) } } } - return 0; + return static_cast (0); } diff --git a/gcc/cp/reflect.cc b/gcc/cp/reflect.cc index e5702ccfd87..d483b3486a7 100644 --- a/gcc/cp/reflect.cc +++ b/gcc/cp/reflect.cc @@ -4186,28 +4186,6 @@ eval_is_trivially_copyable_type (tree type) return boolean_false_node; } -/* Process std::meta::is_trivially_relocatable_type. */ - -static tree -eval_is_trivially_relocatable_type (tree type) -{ - if (trivially_relocatable_type_p (type)) - return boolean_true_node; - else - return boolean_false_node; -} - -/* Process std::meta::is_replaceable_type. */ - -static tree -eval_is_replaceable_type (tree type) -{ - if (replaceable_type_p (type)) - return boolean_true_node; - else - return boolean_false_node; -} - /* Process std::meta::is_standard_layout_type. */ static tree @@ -4634,14 +4612,6 @@ eval_is_nothrow_destructible_type (location_t loc, tree type) return eval_type_trait (loc, type, CPTK_IS_NOTHROW_DESTRUCTIBLE); } -/* Process std::meta::is_nothrow_relocatable_type. */ - -static tree -eval_is_nothrow_relocatable_type (location_t loc, tree type) -{ - return eval_type_trait (loc, type, CPTK_IS_NOTHROW_RELOCATABLE); -} - /* Process std::meta::has_virtual_destructor. */ static tree @@ -7870,10 +7840,6 @@ process_metafunction (const constexpr_ctx *ctx, tree fun, tree call, return eval_is_volatile_type (h); case METAFN_IS_TRIVIALLY_COPYABLE_TYPE: return eval_is_trivially_copyable_type (h); - case METAFN_IS_TRIVIALLY_RELOCATABLE_TYPE: - return eval_is_trivially_relocatable_type (h); - case METAFN_IS_REPLACEABLE_TYPE: - return eval_is_replaceable_type (h); case METAFN_IS_STANDARD_LAYOUT_TYPE: return eval_is_standard_layout_type (h); case METAFN_IS_EMPTY_TYPE: @@ -7959,8 +7925,6 @@ process_metafunction (const constexpr_ctx *ctx, tree fun, tree call, "is_nothrow_swappable"); case METAFN_IS_NOTHROW_DESTRUCTIBLE_TYPE: return eval_is_nothrow_destructible_type (loc, h); - case METAFN_IS_NOTHROW_RELOCATABLE_TYPE: - return eval_is_nothrow_relocatable_type (loc, h); case METAFN_IS_IMPLICIT_LIFETIME_TYPE: return eval_is_implicit_lifetime_type (h); case METAFN_HAS_VIRTUAL_DESTRUCTOR: diff --git a/gcc/testsuite/g++.dg/reflect/eh1.C b/gcc/testsuite/g++.dg/reflect/eh1.C index 092fd36fcb7..10eba7b2a8d 100644 --- a/gcc/testsuite/g++.dg/reflect/eh1.C +++ b/gcc/testsuite/g++.dg/reflect/eh1.C @@ -128,12 +128,6 @@ eval (int n) case 38: is_trivially_copyable_type (^^n); break; - case 39: - is_trivially_relocatable_type (^^n); - break; - case 40: - is_replaceable_type (^^n); - break; case 41: is_standard_layout_type (^^n); break; @@ -224,9 +218,6 @@ eval (int n) case 70: is_nothrow_destructible_type (^^n); break; - case 71: - is_nothrow_relocatable_type (^^n); - break; case 72: has_virtual_destructor (^^n); break; @@ -319,8 +310,6 @@ static_assert (test (35)); static_assert (test (36)); static_assert (test (37)); static_assert (test (38)); -static_assert (test (39)); -static_assert (test (40)); static_assert (test (41)); static_assert (test (42)); static_assert (test (43)); @@ -351,7 +340,6 @@ static_assert (test (67)); static_assert (test (68)); static_assert (test (69)); static_assert (test (70)); -static_assert (test (71)); static_assert (test (72)); static_assert (test (73)); static_assert (test (74)); diff --git a/gcc/testsuite/g++.dg/reflect/eh2.C b/gcc/testsuite/g++.dg/reflect/eh2.C index 7f6b235a4ec..21f98796dfe 100644 --- a/gcc/testsuite/g++.dg/reflect/eh2.C +++ b/gcc/testsuite/g++.dg/reflect/eh2.C @@ -46,8 +46,6 @@ static_assert ((add_pointer (^^i), true)); // { dg-error "non-constant|uncaught static_assert ((is_const_type (^^i), true)); // { dg-error "non-constant|uncaught exception" } static_assert ((is_volatile_type (^^i), true)); // { dg-error "non-constant|uncaught exception" } static_assert ((is_trivially_copyable_type (^^i), true)); // { dg-error "non-constant|uncaught exception" } -static_assert ((is_trivially_relocatable_type (^^i), true)); // { dg-error "non-constant|uncaught exception" } -static_assert ((is_replaceable_type (^^i), true)); // { dg-error "non-constant|uncaught exception" } static_assert ((is_standard_layout_type (^^i), true)); // { dg-error "non-constant|uncaught exception" } static_assert ((is_empty_type (^^i), true)); // { dg-error "non-constant|uncaught exception" } static_assert ((is_polymorphic_type (^^i), true)); // { dg-error "non-constant|uncaught exception" } @@ -78,7 +76,6 @@ static_assert ((is_nothrow_move_constructible_type (^^i), true)); // { dg-error static_assert ((is_nothrow_copy_assignable_type (^^i), true)); // { dg-error "non-constant|uncaught exception" } static_assert ((is_nothrow_move_assignable_type (^^i), true)); // { dg-error "non-constant|uncaught exception" } static_assert ((is_nothrow_destructible_type (^^i), true)); // { dg-error "non-constant|uncaught exception" } -static_assert ((is_nothrow_relocatable_type (^^i), true)); // { dg-error "non-constant|uncaught exception" } static_assert ((has_virtual_destructor (^^i), true)); // { dg-error "non-constant|uncaught exception" } static_assert ((has_unique_object_representations (^^i), true)); // { dg-error "non-constant|uncaught exception" } static_assert ((rank (^^i), true)); // { dg-error "non-constant|uncaught exception" } diff --git a/gcc/testsuite/g++.dg/reflect/type_trait5.C b/gcc/testsuite/g++.dg/reflect/type_trait5.C index f18eb970dbc..ff025882b4f 100644 --- a/gcc/testsuite/g++.dg/reflect/type_trait5.C +++ b/gcc/testsuite/g++.dg/reflect/type_trait5.C @@ -207,50 +207,6 @@ namespace N void foo (); } -namespace TR -{ - struct A {}; - - struct B { - B (); - ~B (); - B (const B &); - B (B &&); - B &operator= (const B &); - B &operator= (B &&); - }; - - struct C { - C (C &&) = delete; - C &operator= (C &&) = delete; - C () = default; - }; - - struct D : A {}; - - struct E : virtual A {}; - - struct F trivially_relocatable_if_eligible : virtual A {}; - - struct G { B data; }; - - struct H { ~H () = default; }; - - struct I { ~I (); }; - I::~I () = default; - - struct J { virtual ~J () = default; }; - - struct K { ~K () = delete; }; - - struct L { L (L &&) = default; }; - - struct M { M (M &&); }; - M::M (M &&) = default; - - struct N { N (N &&) = delete; }; -} - int v = 1; struct S1 { decltype (^^long) a; }; union U2 { int a; decltype (^^N::foo) b; }; @@ -316,36 +272,6 @@ static_assert (is_trivially_copyable_type (^^HasTemplateCCtor)); static_assert (is_trivially_copyable_type (^^MoveOnly)); static_assert (is_trivially_copyable_type (^^MoveOnly2)); -static_assert (is_trivially_relocatable_type (^^TR::A)); -static_assert (!is_trivially_relocatable_type (^^TR::B)); -static_assert (!is_trivially_relocatable_type (^^TR::C)); -static_assert (is_trivially_relocatable_type (^^TR::D)); -static_assert (!is_trivially_relocatable_type (^^TR::E)); -static_assert (!is_trivially_relocatable_type (^^TR::F)); -static_assert (!is_trivially_relocatable_type (^^TR::G)); -static_assert (is_trivially_relocatable_type (^^TR::H)); -static_assert (!is_trivially_relocatable_type (^^TR::I)); -static_assert (is_trivially_relocatable_type (^^TR::J)); -static_assert (!is_trivially_relocatable_type (^^TR::K)); -static_assert (!is_trivially_relocatable_type (^^TR::L)); -static_assert (!is_trivially_relocatable_type (^^TR::M)); -static_assert (!is_trivially_relocatable_type (^^TR::N)); - -static_assert (is_replaceable_type (^^TR::A)); -static_assert (!is_replaceable_type (^^TR::B)); -static_assert (!is_replaceable_type (^^TR::C)); -static_assert (is_replaceable_type (^^TR::D)); -static_assert (is_replaceable_type (^^TR::E)); -static_assert (is_replaceable_type (^^TR::F)); -static_assert (!is_replaceable_type (^^TR::G)); -static_assert (is_replaceable_type (^^TR::H)); -static_assert (!is_replaceable_type (^^TR::I)); -static_assert (is_replaceable_type (^^TR::J)); -static_assert (!is_replaceable_type (^^TR::K)); -static_assert (!is_replaceable_type (^^TR::L)); -static_assert (!is_replaceable_type (^^TR::M)); -static_assert (!is_replaceable_type (^^TR::N)); - static_assert (is_standard_layout_type (^^SLType)); static_assert (is_standard_layout_type (^^PODType)); static_assert (!is_standard_layout_type (^^NType)); diff --git a/gcc/testsuite/g++.dg/reflect/type_trait7.C b/gcc/testsuite/g++.dg/reflect/type_trait7.C deleted file mode 100644 index 6c3b9f1e7b8..00000000000 --- a/gcc/testsuite/g++.dg/reflect/type_trait7.C +++ /dev/null @@ -1,142 +0,0 @@ -// { dg-do compile { target c++26 } } -// { dg-additional-options "-freflection" } -// Test reflection type traits [meta.reflection.traits], type properties. - -#include -using namespace std::meta; - -struct A { A (A &&) = default; A &operator= (A &&) = default; ~A () = default; int a; }; - -static_assert (is_trivially_relocatable_type (^^A)); -static_assert (is_nothrow_relocatable_type (^^A)); -static_assert (is_replaceable_type (^^A)); - -struct B { B (B &&); B &operator= (B &&) = default; ~B () = default; int a; }; - -static_assert (!is_trivially_relocatable_type (^^B)); -static_assert (!is_nothrow_relocatable_type (^^B)); -static_assert (!is_replaceable_type (^^B)); - -struct C { C (C &&) = default; C &operator= (C &&); ~C () = default; int a; }; - -static_assert (!is_trivially_relocatable_type (^^C)); -static_assert (is_nothrow_relocatable_type (^^C)); -static_assert (!is_replaceable_type (^^C)); - -struct D { D (D &&) = delete; D &operator= (D &&) = default; int a; }; - -static_assert (!is_trivially_relocatable_type (^^D)); -static_assert (!is_nothrow_relocatable_type (^^D)); -static_assert (!is_replaceable_type (^^D)); - -struct E { E (E &&) = default; E &operator= (E &&) = delete; int a; }; - -static_assert (!is_trivially_relocatable_type (^^E)); -static_assert (is_nothrow_relocatable_type (^^E)); -static_assert (!is_replaceable_type (^^E)); - -struct F { F (F &&) = default; F &operator= (F &&) = default; ~F () = delete; int a; }; - -static_assert (!is_trivially_relocatable_type (^^F)); -static_assert (!is_nothrow_relocatable_type (^^F)); -static_assert (!is_replaceable_type (^^F)); - -struct G { G (const G &) = default; G &operator= (const G &) = default; int a; }; - -static_assert (is_trivially_relocatable_type (^^G)); -static_assert (is_nothrow_relocatable_type (^^G)); -static_assert (is_replaceable_type (^^G)); - -struct H { H (const H &); H &operator= (const H &) = default; int a; }; - -static_assert (!is_trivially_relocatable_type (^^H)); -static_assert (!is_nothrow_relocatable_type (^^H)); -static_assert (!is_replaceable_type (^^H)); - -struct I { I (const I &) = default; I &operator= (const I &); ~I () = default; int a; }; - -static_assert (!is_trivially_relocatable_type (^^I)); -static_assert (is_nothrow_relocatable_type (^^I)); -static_assert (!is_replaceable_type (^^I)); - -struct J { J (const J &) = delete; J &operator= (const J &) = default; int a; }; - -static_assert (!is_trivially_relocatable_type (^^J)); -static_assert (!is_nothrow_relocatable_type (^^J)); -static_assert (!is_replaceable_type (^^J)); - -struct K { K (const K &) = default; K &operator= (const K &) = delete; int a; }; - -static_assert (!is_trivially_relocatable_type (^^K)); -static_assert (is_nothrow_relocatable_type (^^K)); -static_assert (!is_replaceable_type (^^K)); - -struct M; -struct L { L (L &&) = default; L (M &&); L &operator= (L &&) = default; int a; }; - -static_assert (is_trivially_relocatable_type (^^L)); -static_assert (is_nothrow_relocatable_type (^^L)); -static_assert (is_replaceable_type (^^L)); - -struct M : public L { using L::L; M (const M &); M &operator= (M &&) = default; int b; }; - -static_assert (!is_trivially_relocatable_type (^^M)); -static_assert (!is_nothrow_relocatable_type (^^M)); -static_assert (!is_replaceable_type (^^M)); - -struct O; -struct N { N (N &&) = default; N &operator= (N &&) = default; N &operator= (O &&); int a; }; - -static_assert (is_trivially_relocatable_type (^^N)); -static_assert (is_nothrow_relocatable_type (^^N)); -static_assert (is_replaceable_type (^^N)); - -struct O : public N { using N::operator=; O (O &&) = default; int b; }; - -static_assert (!is_trivially_relocatable_type (^^O)); -static_assert (is_nothrow_relocatable_type (^^O)); -static_assert (!is_replaceable_type (^^O)); - -struct Q; -struct P { template P (T &&) {} }; - -static_assert (is_trivially_relocatable_type (^^P)); -static_assert (is_nothrow_relocatable_type (^^P)); -static_assert (is_replaceable_type (^^P)); - -struct Q : public P { using P::P; Q (const Q &); }; - -static_assert (!is_trivially_relocatable_type (^^Q)); -static_assert (!is_nothrow_relocatable_type (^^Q)); -static_assert (!is_replaceable_type (^^Q)); - -struct S; -struct R { R (const R &) = default; R (const M &); R &operator= (R &&) = default; int a; }; - -static_assert (is_trivially_relocatable_type (^^R)); -static_assert (is_nothrow_relocatable_type (^^R)); -static_assert (is_replaceable_type (^^R)); - -struct S : public R { using R::R; S &operator= (S &&) = default; int b; }; - -static_assert (!is_trivially_relocatable_type (^^S)); -static_assert (!is_nothrow_relocatable_type (^^S)); -static_assert (!is_replaceable_type (^^S)); - -struct T { T (T &&) = default; T &operator= (T &&) = default; ~T (); int a; }; - -static_assert (!is_trivially_relocatable_type (^^T)); -static_assert (is_nothrow_relocatable_type (^^T)); -static_assert (!is_replaceable_type (^^T)); - -struct U { U (const U &) = default; U &operator= (const U &) = default; ~U (); int a; }; - -static_assert (!is_trivially_relocatable_type (^^U)); -static_assert (is_nothrow_relocatable_type (^^U)); -static_assert (!is_replaceable_type (^^U)); - -struct V { public: V (); private: V (V &&) = default; V &operator= (V &&) = default; ~V () = default; int a; }; - -static_assert (is_trivially_relocatable_type (^^V)); -static_assert (is_nothrow_relocatable_type (^^V)); -static_assert (is_replaceable_type (^^V)); diff --git a/libstdc++-v3/include/std/meta b/libstdc++-v3/include/std/meta index 871ce087067..42f84148371 100644 --- a/libstdc++-v3/include/std/meta +++ b/libstdc++-v3/include/std/meta @@ -449,8 +449,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION consteval bool is_const_type(info); consteval bool is_volatile_type(info); consteval bool is_trivially_copyable_type(info); - consteval bool is_trivially_relocatable_type(info); - consteval bool is_replaceable_type(info); consteval bool is_standard_layout_type(info); consteval bool is_empty_type(info); consteval bool is_polymorphic_type(info); @@ -504,7 +502,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION consteval bool is_nothrow_swappable_type(info); consteval bool is_nothrow_destructible_type(info); - consteval bool is_nothrow_relocatable_type(info); consteval bool is_implicit_lifetime_type(info); diff --git a/libstdc++-v3/src/c++23/std.cc.in b/libstdc++-v3/src/c++23/std.cc.in index 4e1d6d0ac5d..e134e395bb6 100644 --- a/libstdc++-v3/src/c++23/std.cc.in +++ b/libstdc++-v3/src/c++23/std.cc.in @@ -2220,8 +2220,6 @@ export namespace std using std::meta::is_const_type; using std::meta::is_volatile_type; using std::meta::is_trivially_copyable_type; - using std::meta::is_trivially_relocatable_type; - using std::meta::is_replaceable_type; using std::meta::is_standard_layout_type; using std::meta::is_empty_type; using std::meta::is_polymorphic_type; @@ -2262,7 +2260,6 @@ export namespace std using std::meta::is_nothrow_swappable_with_type; using std::meta::is_nothrow_swappable_type; using std::meta::is_nothrow_destructible_type; - using std::meta::is_nothrow_relocatable_type; using std::meta::is_implicit_lifetime_type; using std::meta::has_virtual_destructor; using std::meta::has_unique_object_representations;