From 5f1feabb765c16c72e8dbb065ca04f11ca73f594 Mon Sep 17 00:00:00 2001 From: alandefreitas Date: Wed, 19 Mar 2025 15:52:16 -0300 Subject: [PATCH] redundant Decls use least specific extraction mode #fix --- src/lib/AST/ASTVisitor.cpp | 176 +-- .../class-template-specializations-1.adoc | 845 ++---------- .../class-template-specializations-1.html | 1176 +++-------------- .../class-template-specializations-1.xml | 155 +-- .../template-specialization-inheritance.adoc | 34 +- .../template-specialization-inheritance.html | 49 +- .../template-specialization-inheritance.xml | 3 - 7 files changed, 408 insertions(+), 2030 deletions(-) diff --git a/src/lib/AST/ASTVisitor.cpp b/src/lib/AST/ASTVisitor.cpp index 95ca28786..811f96856 100644 --- a/src/lib/AST/ASTVisitor.cpp +++ b/src/lib/AST/ASTVisitor.cpp @@ -2808,6 +2808,8 @@ checkFileFilters(Decl const* D) // Call the non-cached version of this function bool const ok = checkFileFilters(fileInfo->full_path); + + // Add to cache fileInfo->passesFilters.emplace(ok); return *fileInfo->passesFilters; } @@ -2943,45 +2945,41 @@ checkSymbolFilters(Decl const* D, bool const AllowParent) // 1) The symbol strictly matches one of the patterns for (auto const& [patterns, patternsMode] : patternsAndModes) { - if (!patterns->empty()) + MRDOCS_CHECK_OR_CONTINUE(!patterns->empty()); + if (checkSymbolFiltersImpl(*patterns, symbolName)) { - if (checkSymbolFiltersImpl(*patterns, symbolName)) - { - ExtractionInfo const res = {patternsMode, ExtractionMatchType::Strict}; - return updateCache(res); - } + ExtractionInfo const res = {patternsMode, ExtractionMatchType::Strict}; + return updateCache(res); + } - // 1a) Check if the parent in the same exclusion category - // (see-below or implementation defined). - if (AllowParent && - patternsMode != ExtractionMode::Regular && - ParentIs(D, patternsMode)) + // 1a) Check if the parent in the same exclusion category + // (see-below or implementation defined). + MRDOCS_CHECK_OR_CONTINUE(AllowParent); + MRDOCS_CHECK_OR_CONTINUE(patternsMode != ExtractionMode::Regular); + MRDOCS_CHECK_OR_CONTINUE(ParentIs(D, patternsMode)); + if (patternsMode == ExtractionMode::ImplementationDefined) + { + // A child of implementation defined is also + // implementation defined. + return updateCache( + { ExtractionMode::ImplementationDefined, + ExtractionMatchType::StrictParent }); + } + if (patternsMode == ExtractionMode::SeeBelow) + { + // A child of see-below is also see-below (if namespace) + // or dependency (if record) + if (Decl const* P = getParent(D); + P && + isa(P)) { - if (patternsMode == ExtractionMode::ImplementationDefined) - { - // A child of implementation defined is also - // implementation defined. - return updateCache( - { ExtractionMode::ImplementationDefined, - ExtractionMatchType::StrictParent }); - } - if (patternsMode == ExtractionMode::SeeBelow) - { - // A child of see-below is also see-below (if namespace) - // or dependency (if record) - if (Decl const* P = getParent(D); - P && - isa(P)) - { - return updateCache( - { ExtractionMode::SeeBelow, - ExtractionMatchType::StrictParent }); - } - return updateCache( - { ExtractionMode::Dependency, - ExtractionMatchType::StrictParent }); - } + return updateCache( + { ExtractionMode::SeeBelow, + ExtractionMatchType::StrictParent }); } + return updateCache( + { ExtractionMode::Dependency, + ExtractionMatchType::StrictParent }); } } @@ -3048,55 +3046,56 @@ checkSymbolFilters(Decl const* D, bool const AllowParent) symbolAsPrefix += "::"; for (auto const& [patterns, mode] : std::ranges::views::reverse(patternsAndModes)) { - if (!patterns->empty() && - checkSymbolFiltersImpl(*patterns, symbolAsPrefix.str())) + MRDOCS_CHECK_OR_CONTINUE(!patterns->empty()); + MRDOCS_CHECK_OR_CONTINUE( + checkSymbolFiltersImpl< + PrefixOnly>(*patterns, symbolAsPrefix.str())); + // We know this namespace matches one of the pattern + // prefixes that can potentially include children, but + // we have to check if any children actually matches + // the pattern strictly. + auto const* DC = cast(D); + auto childrenMode = ExtractionMode::Dependency; + for (auto* M : DC->decls()) { - // We know this namespace matches one of the pattern - // prefixes that can potentially include children, but - // we have to check if any children actually matches - // the pattern strictly. - auto const* DC = cast(D); - auto childrenMode = ExtractionMode::Dependency; - for (auto* M : DC->decls()) + MRDOCS_SYMBOL_TRACE(M, context_); + if (M->isImplicit() && !isa(M)) { - if (M->isImplicit() && !isa(M)) - { - // Ignore implicit members - continue; - } - if (getParent(M) != D) - { - // Not a semantic member - continue; - } - auto const R = checkSymbolFilters(M, false); - if (R.mode == ExtractionMode::Dependency) - { - // The child should not be extracted. - // Go to next child. - continue; - } - if (childrenMode == ExtractionMode::Dependency) - { - // Still a dependency. Initialize it with child mode. - childrenMode = R.mode; - } - else - { - // Children mode already initialized. Get the least specific one. - childrenMode = leastSpecific(childrenMode, R.mode); - } - if (childrenMode == ExtractionMode::Regular) - { - // Already the least specific - break; - } + // Ignore implicit members + continue; + } + if (getParent(M) != D) + { + // Not a semantic member + continue; + } + auto const [childMode, childKind] = checkSymbolFilters(M, false); + if (childMode == ExtractionMode::Dependency) + { + // The child should not be extracted. + // Go to next child. + continue; + } + if (childrenMode == ExtractionMode::Dependency) + { + // Still a dependency. Initialize it with child mode. + childrenMode = childMode; } - if (childrenMode != ExtractionMode::Dependency) + else { - ExtractionInfo const res = {childrenMode, ExtractionMatchType::Prefix}; - return updateCache(res); + // Children mode already initialized. Get the least specific one. + childrenMode = leastSpecific(childrenMode, childMode); } + if (childrenMode == ExtractionMode::Regular) + { + // Already the least specific + break; + } + } + if (childrenMode != ExtractionMode::Dependency) + { + ExtractionInfo const res = {childrenMode, ExtractionMatchType::Prefix}; + return updateCache(res); } } } @@ -3140,6 +3139,7 @@ checkSymbolFilters(Decl const* D, bool const AllowParent) constexpr ExtractionInfo res = {ExtractionMode::Regular, ExtractionMatchType::Strict}; return updateCache(res); } + // 4b) Otherwise, we don't extract the symbol // because it doesn't match any of `include-symbol` filters constexpr ExtractionInfo res = {ExtractionMode::Dependency, ExtractionMatchType::Strict}; @@ -3385,16 +3385,21 @@ upsert(DeclType const* D) ExtractionMode const m = checkFilters(D); if (m == ExtractionMode::Dependency) { + // If the extraction mode is dependency, it means we + // should extract it as a dependency or that we + // should not extract it. if (mode_ == Regular) { return Unexpected(Error("Symbol should not be extracted")); } if (isAnyExplicitSpecialization(D)) { - // We should not extract explicit declarations in dependency mode. + // We should not extract explicit specializations in dependency mode. + // As this is a dependency, the corpus only needs to store the main + // template. // The calling code should handle this case instead of // populating the symbol table with instantiations. - return Unexpected(Error("Explicit declaration in dependency mode")); + return Unexpected(Error("Specialization in dependency mode")); } } @@ -3405,7 +3410,14 @@ upsert(DeclType const* D) auto [I, isNew] = upsert(id); // Already populate the extraction mode - I.Extraction = mostSpecific(I.Extraction, m); + if (isNew) + { + I.Extraction = m; + } + else + { + I.Extraction = leastSpecific(I.Extraction, m); + } // Already populate the access specifier AccessSpecifier const access = getAccess(D); diff --git a/test-files/golden-tests/symbols/record/class-template-specializations-1.adoc b/test-files/golden-tests/symbols/record/class-template-specializations-1.adoc index e77b983b6..a3372bbed 100644 --- a/test-files/golden-tests/symbols/record/class-template-specializations-1.adoc +++ b/test-files/golden-tests/symbols/record/class-template-specializations-1.adoc @@ -732,7 +732,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R30 - : <><2, bool>::<>; + : <><2, bool>::<>; ---- === Base Classes @@ -741,7 +741,7 @@ struct R30 |=== | Name | Description -| `<><2, bool>::<>` +| `<><2, bool>::<>` | |=== @@ -750,7 +750,7 @@ struct R30 [cols=1] |=== | Name -| <> +| <> |=== === Member Functions @@ -758,9 +758,37 @@ struct R30 [cols=1] |=== | Name -| <> +| <> |=== +[#R30-S2] +== <>::S2 + +=== Synopsis + +Declared in `<class‐template‐specializations‐1.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template< + int J, + typename U = void> +struct S2; +---- + +[#R30-f1] +== <>::f1 + +=== Synopsis + +Declared in `<class‐template‐specializations‐1.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +f1(); +---- + [#R31] == R31 @@ -774,7 +802,7 @@ template< int I, typename T> struct R31 - : <><3, bool>::<>::<><I, T>; + : <><3, bool>::<>::<><I, T>; ---- === Base Classes @@ -783,7 +811,7 @@ struct R31 |=== | Name | Description -| `<><3, bool>::<>::<><I, T>` +| `<><3, bool>::<>::<><I, T>` | |=== @@ -797,7 +825,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R32 - : <><4, bool>::<>::<><5, bool>; + : <><4, bool>::<>::<><5, bool>; ---- === Base Classes @@ -806,7 +834,7 @@ struct R32 |=== | Name | Description -| `<><4, bool>::<>::<><5, bool>` +| `<><4, bool>::<>::<><5, bool>` | |=== @@ -820,7 +848,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R33 - : <><6, bool>::<>::<><7, int>; + : <><6, bool>::<>::<><7, int>; ---- === Base Classes @@ -829,7 +857,7 @@ struct R33 |=== | Name | Description -| `<><6, bool>::<>::<><7, int>` +| `<><6, bool>::<>::<><7, int>` | |=== @@ -843,7 +871,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R34 - : <><8, bool>::<>::<><9, bool>::<>; + : <><8, bool>::<>::<><9, bool>::<>; ---- === Base Classes @@ -852,7 +880,7 @@ struct R34 |=== | Name | Description -| `<><8, bool>::<>::<><9, bool>::<>` +| `<><8, bool>::<>::<><9, bool>::<>` | |=== @@ -861,9 +889,22 @@ struct R34 [cols=1] |=== | Name -| <> +| <> |=== +[#R34-f3] +== <>::f3 + +=== Synopsis + +Declared in `<class‐template‐specializations‐1.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +f3(); +---- + [#R35] == R35 @@ -877,7 +918,7 @@ template< int I, typename T> struct R35 - : <><10, bool>::<>::<><11, bool>::<><I, T>; + : <><10, bool>::<>::<><11, bool>::<><I, T>; ---- === Base Classes @@ -886,7 +927,7 @@ struct R35 |=== | Name | Description -| `<><10, bool>::<>::<><11, bool>::<><I, T>` +| `<><10, bool>::<>::<><11, bool>::<><I, T>` | |=== @@ -900,7 +941,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R36 - : <><12, bool>::<>::<><13, bool>::<><14, bool>; + : <><12, bool>::<>::<><13, bool>::<><14, bool>; ---- === Base Classes @@ -909,7 +950,7 @@ struct R36 |=== | Name | Description -| `<><12, bool>::<>::<><13, bool>::<><14, bool>` +| `<><12, bool>::<>::<><13, bool>::<><14, bool>` | |=== @@ -923,7 +964,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R37 - : <><15, bool>::<>::<><16, bool>::<><17, int>; + : <><15, bool>::<>::<><16, bool>::<><17, int>; ---- === Base Classes @@ -932,7 +973,7 @@ struct R37 |=== | Name | Description -| `<><15, bool>::<>::<><16, bool>::<><17, int>` +| `<><15, bool>::<>::<><16, bool>::<><17, int>` | |=== @@ -949,7 +990,7 @@ template< int I, typename T> struct R38 - : <><18, bool>::<><I, T>; + : <><18, bool>::<><I, T>; ---- === Base Classes @@ -958,7 +999,7 @@ struct R38 |=== | Name | Description -| `<><18, bool>::<><I, T>` +| `<><18, bool>::<><I, T>` | |=== @@ -972,7 +1013,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R39 - : <><19, bool>::<><20, bool>; + : <><19, bool>::<><20, bool>; ---- === Base Classes @@ -981,7 +1022,7 @@ struct R39 |=== | Name | Description -| `<><19, bool>::<><20, bool>` +| `<><19, bool>::<><20, bool>` | |=== @@ -1018,7 +1059,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R40 - : <><21, bool>::<><22, int>; + : <><21, bool>::<><22, int>; ---- === Base Classes @@ -1027,7 +1068,7 @@ struct R40 |=== | Name | Description -| `<><21, bool>::<><22, int>` +| `<><21, bool>::<><22, int>` | |=== @@ -1041,7 +1082,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R41 - : <><23, bool>::<><24, bool>::<>; + : <><23, bool>::<><24, bool>::<>; ---- === Base Classes @@ -1050,7 +1091,7 @@ struct R41 |=== | Name | Description -| `<><23, bool>::<><24, bool>::<>` +| `<><23, bool>::<><24, bool>::<>` | |=== @@ -1059,7 +1100,7 @@ struct R41 [cols=1] |=== | Name -| <> +| <> |=== === Member Functions @@ -1067,9 +1108,37 @@ struct R41 [cols=1] |=== | Name -| <> +| <> |=== +[#R41-S7] +== <>::S7 + +=== Synopsis + +Declared in `<class‐template‐specializations‐1.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template< + int K, + typename V = void> +struct S7; +---- + +[#R41-f6] +== <>::f6 + +=== Synopsis + +Declared in `<class‐template‐specializations‐1.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +f6(); +---- + [#R42] == R42 @@ -1083,7 +1152,7 @@ template< int I, typename T> struct R42 - : <><25, bool>::<><26, bool>::<>::<><I, T>; + : <><25, bool>::<><26, bool>::<>::<><I, T>; ---- === Base Classes @@ -1092,7 +1161,7 @@ struct R42 |=== | Name | Description -| `<><25, bool>::<><26, bool>::<>::<><I, T>` +| `<><25, bool>::<><26, bool>::<>::<><I, T>` | |=== @@ -1106,7 +1175,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R43 - : <><27, bool>::<><28, bool>::<>::<><29, int>; + : <><27, bool>::<><28, bool>::<>::<><29, int>; ---- === Base Classes @@ -1115,7 +1184,7 @@ struct R43 |=== | Name | Description -| `<><27, bool>::<><28, bool>::<>::<><29, int>` +| `<><27, bool>::<><28, bool>::<>::<><29, int>` | |=== @@ -1129,7 +1198,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R44 - : <><30, bool>::<><31, bool>::<>::<><32, bool>; + : <><30, bool>::<><31, bool>::<>::<><32, bool>; ---- === Base Classes @@ -1138,7 +1207,7 @@ struct R44 |=== | Name | Description -| `<><30, bool>::<><31, bool>::<>::<><32, bool>` +| `<><30, bool>::<><31, bool>::<>::<><32, bool>` | |=== @@ -1152,7 +1221,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R45 - : <><33, bool>::<><34, bool>::<>::<><35, bool>::<>; + : <><33, bool>::<><34, bool>::<>::<><35, bool>::<>; ---- === Base Classes @@ -1161,7 +1230,7 @@ struct R45 |=== | Name | Description -| `<><33, bool>::<><34, bool>::<>::<><35, bool>::<>` +| `<><33, bool>::<><34, bool>::<>::<><35, bool>::<>` | |=== @@ -1170,9 +1239,22 @@ struct R45 [cols=1] |=== | Name -| <> +| <> |=== +[#R45-f8] +== <>::f8 + +=== Synopsis + +Declared in `<class‐template‐specializations‐1.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +f8(); +---- + [#R46] == R46 @@ -1186,7 +1268,7 @@ template< int I, typename T> struct R46 - : <><36, bool>::<><37, bool>::<>::<><38, bool>::<><I, T>; + : <><36, bool>::<><37, bool>::<>::<><38, bool>::<><I, T>; ---- === Base Classes @@ -1195,7 +1277,7 @@ struct R46 |=== | Name | Description -| `<><36, bool>::<><37, bool>::<>::<><38, bool>::<><I, T>` +| `<><36, bool>::<><37, bool>::<>::<><38, bool>::<><I, T>` | |=== @@ -1209,7 +1291,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R47 - : <><39, bool>::<><40, bool>::<>::<><41, bool>::<><42, int>; + : <><39, bool>::<><40, bool>::<>::<><41, bool>::<><42, int>; ---- === Base Classes @@ -1218,7 +1300,7 @@ struct R47 |=== | Name | Description -| `<><39, bool>::<><40, bool>::<>::<><41, bool>::<><42, int>` +| `<><39, bool>::<><40, bool>::<>::<><41, bool>::<><42, int>` | |=== @@ -1232,7 +1314,7 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct R48 - : <><43, bool>::<><44, bool>::<>::<><45, bool>::<><46, bool>; + : <><43, bool>::<><44, bool>::<>::<><45, bool>::<><46, bool>; ---- === Base Classes @@ -1241,7 +1323,7 @@ struct R48 |=== | Name | Description -| `<><43, bool>::<><44, bool>::<>::<><45, bool>::<><46, bool>` +| `<><43, bool>::<><44, bool>::<>::<><45, bool>::<><46, bool>` | |=== @@ -5318,7 +5400,6 @@ struct <><11, bool>; |=== | Name | <> -| <> |=== === Member Functions @@ -5341,31 +5422,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S3; ---- -[#S0-05a-S1-S2-0b-S4] -== <><10, bool>::<>::<><11, bool>::S4 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int K, - typename V = void> -struct S4; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-05a-S1-S2-0b-f2] == <><10, bool>::<>::<><11, bool>::f2 @@ -5513,7 +5569,6 @@ struct <><13, bool>; |=== | Name | <> -| <> |=== === Member Functions @@ -5536,31 +5591,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S3; ---- -[#S0-0cd-S1-S2-05-S4] -== <><12, bool>::<>::<><13, bool>::S4 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int K, - typename V = void> -struct S4; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-0cd-S1-S2-05-f2] == <><12, bool>::<>::<><13, bool>::f2 @@ -5708,7 +5738,6 @@ struct <><16, bool>; |=== | Name | <> -| <> |=== === Member Functions @@ -5731,31 +5760,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S3; ---- -[#S0-000-S1-S2-03-S4] -== <><15, bool>::<>::<><16, bool>::S4 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int K, - typename V = void> -struct S4; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-000-S1-S2-03-f2] == <><15, bool>::<>::<><16, bool>::f2 @@ -5829,7 +5833,6 @@ struct <><18, bool>; |=== | Name | <> -| <> |=== === Member Functions @@ -5852,31 +5855,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S1; ---- -[#S0-051-S5] -== <><18, bool>::S5 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int J, - typename U = void> -struct S5; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-051-f0] == <><18, bool>::f0 @@ -5909,7 +5887,6 @@ struct <><19, bool>; |=== | Name | <> -| <> |=== === Member Functions @@ -5932,31 +5909,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S1; ---- -[#S0-002-S5] -== <><19, bool>::S5 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int J, - typename U = void> -struct S5; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-002-f0] == <><19, bool>::f0 @@ -5988,7 +5940,6 @@ struct <><2, bool>; [cols=1] |=== | Name -| <> | <> |=== @@ -6000,72 +5951,6 @@ struct <><2, bool>; | <> |=== -[#S0-03c-S1] -== <><2, bool>::S1 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -struct S1; ----- - -=== Types - -[cols=1] -|=== -| Name -| <> -|=== - -=== Member Functions - -[cols=1] -|=== -| Name -| <> -|=== - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - -[#S0-03c-S1-S2] -== <><2, bool>::<>::S2 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int J, - typename U = void> -struct S2; ----- - -[#S0-03c-S1-f1] -== <><2, bool>::<>::f1 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -void -f1(); ----- - [#S0-03c-S5] == <><2, bool>::S5 @@ -6113,7 +5998,6 @@ struct <><21, bool>; |=== | Name | <> -| <> |=== === Member Functions @@ -6136,8 +6020,8 @@ Declared in `<class‐template‐specializations‐1.cp struct S1; ---- -[#S0-003-S5] -== <><21, bool>::S5 +[#S0-003-f0] +== <><21, bool>::f0 === Synopsis @@ -6145,39 +6029,14 @@ Declared in `<class‐template‐specializations‐1.cp [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -template< - int J, - typename U = void> -struct S5; +void +f0(); ---- -=== Derived Classes +[#S0-0c7] +== S0<23, bool> -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - -[#S0-003-f0] -== <><21, bool>::f0 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -void -f0(); ----- - -[#S0-0c7] -== S0<23, bool> - -=== Synopsis +=== Synopsis Declared in `<class‐template‐specializations‐1.cpp>` @@ -6245,14 +6104,6 @@ template<> struct <><24, bool>; ---- -=== Types - -[cols=1] -|=== -| Name -| <> -|=== - === Member Functions [cols=1] @@ -6261,72 +6112,6 @@ struct <><24, bool>; | <> |=== -[#S0-0c7-S5-0f-S6] -== <><23, bool>::<><24, bool>::S6 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -struct S6; ----- - -=== Types - -[cols=1] -|=== -| Name -| <> -|=== - -=== Member Functions - -[cols=1] -|=== -| Name -| <> -|=== - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - -[#S0-0c7-S5-0f-S6-S7] -== <><23, bool>::<><24, bool>::<>::S7 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int K, - typename V = void> -struct S7; ----- - -[#S0-0c7-S5-0f-S6-f6] -== <><23, bool>::<><24, bool>::<>::f6 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -void -f6(); ----- - [#S0-0c7-S5-0f-f5] == <><23, bool>::<><24, bool>::f5 @@ -6452,14 +6237,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S6; ---- -=== Types - -[cols=1] -|=== -| Name -| <> -|=== - === Member Functions [cols=1] @@ -6468,31 +6245,6 @@ struct S6; | <> |=== -[#S0-0529f-S5-05c-S6-S7] -== <><25, bool>::<><26, bool>::<>::S7 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int K, - typename V = void> -struct S7; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-0529f-S5-05c-S6-f6] == <><25, bool>::<><26, bool>::<>::f6 @@ -6631,14 +6383,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S6; ---- -=== Types - -[cols=1] -|=== -| Name -| <> -|=== - === Member Functions [cols=1] @@ -6647,31 +6391,6 @@ struct S6; | <> |=== -[#S0-007-S5-0d-S6-S7] -== <><27, bool>::<><28, bool>::<>::S7 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int K, - typename V = void> -struct S7; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-007-S5-0d-S6-f6] == <><27, bool>::<><28, bool>::<>::f6 @@ -6753,14 +6472,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S1; ---- -=== Types - -[cols=1] -|=== -| Name -| <> -|=== - === Member Functions [cols=1] @@ -6769,31 +6480,6 @@ struct S1; | <> |=== -[#S0-092-S1-S2] -== <><3, bool>::<>::S2 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int J, - typename U = void> -struct S2; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-092-S1-f1] == <><3, bool>::<>::f1 @@ -6934,14 +6620,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S6; ---- -=== Types - -[cols=1] -|=== -| Name -| <> -|=== - === Member Functions [cols=1] @@ -6950,31 +6628,6 @@ struct S6; | <> |=== -[#S0-021-S5-0b-S6-S7] -== <><30, bool>::<><31, bool>::<>::S7 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int K, - typename V = void> -struct S7; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-021-S5-0b-S6-f6] == <><30, bool>::<><31, bool>::<>::f6 @@ -7163,7 +6816,6 @@ struct <><35, bool>; [cols=1] |=== | Name -| <> | <> |=== @@ -7175,49 +6827,6 @@ struct <><35, bool>; | <> |=== -[#S0-0318-S5-0b-S6-S7-05-S8] -== <><33, bool>::<><34, bool>::<>::<><35, bool>::S8 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -struct S8; ----- - -=== Member Functions - -[cols=1] -|=== -| Name -| <> -|=== - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - -[#S0-0318-S5-0b-S6-S7-05-S8-f8] -== <><33, bool>::<><34, bool>::<>::<><35, bool>::<>::f8 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -void -f8(); ----- - [#S0-0318-S5-0b-S6-S7-05-S9] == <><33, bool>::<><34, bool>::<>::<><35, bool>::S9 @@ -7435,7 +7044,6 @@ struct <><38, bool>; |=== | Name | <> -| <> |=== === Member Functions @@ -7458,31 +7066,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S8; ---- -[#S0-0d-S5-0b-S6-S7-0d-S9] -== <><36, bool>::<><37, bool>::<>::<><38, bool>::S9 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int L, - typename W = void> -struct S9; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-0d-S5-0b-S6-S7-0d-f7] == <><36, bool>::<><37, bool>::<>::<><38, bool>::f7 @@ -7685,7 +7268,6 @@ struct <><41, bool>; |=== | Name | <> -| <> |=== === Member Functions @@ -7708,31 +7290,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S8; ---- -[#S0-0206-S5-08-S6-S7-01-S9] -== <><39, bool>::<><40, bool>::<>::<><41, bool>::S9 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int L, - typename W = void> -struct S9; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-0206-S5-08-S6-S7-01-f7] == <><39, bool>::<><40, bool>::<>::<><41, bool>::f7 @@ -7827,14 +7384,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S1; ---- -=== Types - -[cols=1] -|=== -| Name -| <> -|=== - === Member Functions [cols=1] @@ -7843,31 +7392,6 @@ struct S1; | <> |=== -[#S0-0b6-S1-S2] -== <><4, bool>::<>::S2 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int J, - typename U = void> -struct S2; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-0b6-S1-f1] == <><4, bool>::<>::f1 @@ -8059,7 +7583,6 @@ struct <><45, bool>; |=== | Name | <> -| <> |=== === Member Functions @@ -8082,31 +7605,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S8; ---- -[#S0-05291-S5-0e-S6-S7-0f-S9] -== <><43, bool>::<><44, bool>::<>::<><45, bool>::S9 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int L, - typename W = void> -struct S9; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-05291-S5-0e-S6-S7-0f-f7] == <><43, bool>::<><44, bool>::<>::<><45, bool>::f7 @@ -8201,14 +7699,6 @@ Declared in `<class‐template‐specializations‐1.cp struct S1; ---- -=== Types - -[cols=1] -|=== -| Name -| <> -|=== - === Member Functions [cols=1] @@ -8217,31 +7707,6 @@ struct S1; | <> |=== -[#S0-023-S1-S2] -== <><6, bool>::<>::S2 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -template< - int J, - typename U = void> -struct S2; ----- - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - [#S0-023-S1-f1] == <><6, bool>::<>::f1 @@ -8375,7 +7840,6 @@ struct <><9, bool>; [cols=1] |=== | Name -| <> | <> |=== @@ -8387,49 +7851,6 @@ struct <><9, bool>; | <> |=== -[#S0-04-S1-S2-0a-S3] -== <><8, bool>::<>::<><9, bool>::S3 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -struct S3; ----- - -=== Member Functions - -[cols=1] -|=== -| Name -| <> -|=== - -=== Derived Classes - -[,cols=2] -|=== -| Name -| Description -| <> -| -|=== - -[#S0-04-S1-S2-0a-S3-f3] -== <><8, bool>::<>::<><9, bool>::<>::f3 - -=== Synopsis - -Declared in `<class‐template‐specializations‐1.cpp>` - -[source,cpp,subs="verbatim,replacements,macros,-callouts"] ----- -void -f3(); ----- - [#S0-04-S1-S2-0a-S4] == <><8, bool>::<>::<><9, bool>::S4 diff --git a/test-files/golden-tests/symbols/record/class-template-specializations-1.html b/test-files/golden-tests/symbols/record/class-template-specializations-1.html index 64baced92..edf1a59b6 100644 --- a/test-files/golden-tests/symbols/record/class-template-specializations-1.html +++ b/test-files/golden-tests/symbols/record/class-template-specializations-1.html @@ -1000,7 +1000,7 @@

Synopsis

 
 struct R30
-    : S0<2, bool>::S1;
+    : S0<2, bool>::S1;
 
 
@@ -1014,7 +1014,7 @@

Base Classes

-S0<2, bool>::S1 +S0<2, bool>::S1 @@ -1027,7 +1027,7 @@

Types

-S2 +S2 @@ -1040,12 +1040,48 @@

Member Functions

-f1 +f1 + +
+
+

R30::S2

+
+
+

Synopsis

+
+Declared in <class-template-specializations-1.cpp>
+
+
+template<
+    int J,
+    typename U = void>
+struct S2;
+
+
+
+ + +
+
+
+

R30::f1

+
+
+

Synopsis

+
+Declared in <class-template-specializations-1.cpp>
+
+
+void
+f1();
+
+
+
@@ -1061,7 +1097,7 @@

Synopsis

int I, typename T> struct R31 - : S0<3, bool>::S1::S2<I, T>; + : S0<3, bool>::S1::S2<I, T>;
@@ -1075,7 +1111,7 @@

Base Classes

-S0<3, bool>::S1::S2<I, T> +S0<3, bool>::S1::S2<I, T>
@@ -1093,7 +1129,7 @@

Synopsis

 
 struct R32
-    : S0<4, bool>::S1::S2<5, bool>;
+    : S0<4, bool>::S1::S2<5, bool>;
 
 
@@ -1107,7 +1143,7 @@

Base Classes

-S0<4, bool>::S1::S2<5, bool> +S0<4, bool>::S1::S2<5, bool> @@ -1125,7 +1161,7 @@

Synopsis

 
 struct R33
-    : S0<6, bool>::S1::S2<7, int>;
+    : S0<6, bool>::S1::S2<7, int>;
 
 
@@ -1139,7 +1175,7 @@

Base Classes

-S0<6, bool>::S1::S2<7, int> +S0<6, bool>::S1::S2<7, int> @@ -1157,7 +1193,7 @@

Synopsis

 
 struct R34
-    : S0<8, bool>::S1::S2<9, bool>::S3;
+    : S0<8, bool>::S1::S2<9, bool>::S3;
 
 
@@ -1171,7 +1207,7 @@

Base Classes

-S0<8, bool>::S1::S2<9, bool>::S3 +S0<8, bool>::S1::S2<9, bool>::S3 @@ -1184,12 +1220,28 @@

Member Functions

-f3 +f3 + +
+
+

R34::f3

+
+
+

Synopsis

+
+Declared in <class-template-specializations-1.cpp>
+
+
+void
+f3();
+
+
+
@@ -1205,7 +1257,7 @@

Synopsis

int I, typename T> struct R35 - : S0<10, bool>::S1::S2<11, bool>::S4<I, T>; + : S0<10, bool>::S1::S2<11, bool>::S4<I, T>;
@@ -1219,7 +1271,7 @@

Base Classes

-S0<10, bool>::S1::S2<11, bool>::S4<I, T> +S0<10, bool>::S1::S2<11, bool>::S4<I, T>
@@ -1237,7 +1289,7 @@

Synopsis

 
 struct R36
-    : S0<12, bool>::S1::S2<13, bool>::S4<14, bool>;
+    : S0<12, bool>::S1::S2<13, bool>::S4<14, bool>;
 
 
@@ -1251,7 +1303,7 @@

Base Classes

-S0<12, bool>::S1::S2<13, bool>::S4<14, bool> +S0<12, bool>::S1::S2<13, bool>::S4<14, bool> @@ -1269,7 +1321,7 @@

Synopsis

 
 struct R37
-    : S0<15, bool>::S1::S2<16, bool>::S4<17, int>;
+    : S0<15, bool>::S1::S2<16, bool>::S4<17, int>;
 
 
@@ -1283,7 +1335,7 @@

Base Classes

-S0<15, bool>::S1::S2<16, bool>::S4<17, int> +S0<15, bool>::S1::S2<16, bool>::S4<17, int> @@ -1304,7 +1356,7 @@

Synopsis

int I, typename T> struct R38 - : S0<18, bool>::S5<I, T>; + : S0<18, bool>::S5<I, T>; @@ -1318,7 +1370,7 @@

Base Classes

-S0<18, bool>::S5<I, T> +S0<18, bool>::S5<I, T> @@ -1336,7 +1388,7 @@

Synopsis

 
 struct R39
-    : S0<19, bool>::S5<20, bool>;
+    : S0<19, bool>::S5<20, bool>;
 
 
@@ -1350,7 +1402,7 @@

Base Classes

-S0<19, bool>::S5<20, bool> +S0<19, bool>::S5<20, bool> @@ -1400,7 +1452,7 @@

Synopsis

 
 struct R40
-    : S0<21, bool>::S5<22, int>;
+    : S0<21, bool>::S5<22, int>;
 
 
@@ -1414,7 +1466,7 @@

Base Classes

-S0<21, bool>::S5<22, int> +S0<21, bool>::S5<22, int> @@ -1432,7 +1484,7 @@

Synopsis

 
 struct R41
-    : S0<23, bool>::S5<24, bool>::S6;
+    : S0<23, bool>::S5<24, bool>::S6;
 
 
@@ -1446,7 +1498,7 @@

Base Classes

-S0<23, bool>::S5<24, bool>::S6 +S0<23, bool>::S5<24, bool>::S6 @@ -1459,7 +1511,7 @@

Types

-S7 +S7 @@ -1472,12 +1524,48 @@

Member Functions

-f6 +f6 + +
+
+

R41::S7

+
+
+

Synopsis

+
+Declared in <class-template-specializations-1.cpp>
+
+
+template<
+    int K,
+    typename V = void>
+struct S7;
+
+
+
+ + +
+
+
+

R41::f6

+
+
+

Synopsis

+
+Declared in <class-template-specializations-1.cpp>
+
+
+void
+f6();
+
+
+
@@ -1493,7 +1581,7 @@

Synopsis

int I, typename T> struct R42 - : S0<25, bool>::S5<26, bool>::S6::S7<I, T>; + : S0<25, bool>::S5<26, bool>::S6::S7<I, T>;
@@ -1507,7 +1595,7 @@

Base Classes

-S0<25, bool>::S5<26, bool>::S6::S7<I, T> +S0<25, bool>::S5<26, bool>::S6::S7<I, T>
@@ -1525,7 +1613,7 @@

Synopsis

 
 struct R43
-    : S0<27, bool>::S5<28, bool>::S6::S7<29, int>;
+    : S0<27, bool>::S5<28, bool>::S6::S7<29, int>;
 
 
@@ -1539,7 +1627,7 @@

Base Classes

-S0<27, bool>::S5<28, bool>::S6::S7<29, int> +S0<27, bool>::S5<28, bool>::S6::S7<29, int> @@ -1557,7 +1645,7 @@

Synopsis

 
 struct R44
-    : S0<30, bool>::S5<31, bool>::S6::S7<32, bool>;
+    : S0<30, bool>::S5<31, bool>::S6::S7<32, bool>;
 
 
@@ -1571,7 +1659,7 @@

Base Classes

-S0<30, bool>::S5<31, bool>::S6::S7<32, bool> +S0<30, bool>::S5<31, bool>::S6::S7<32, bool> @@ -1589,7 +1677,7 @@

Synopsis

 
 struct R45
-    : S0<33, bool>::S5<34, bool>::S6::S7<35, bool>::S8;
+    : S0<33, bool>::S5<34, bool>::S6::S7<35, bool>::S8;
 
 
@@ -1603,7 +1691,7 @@

Base Classes

-S0<33, bool>::S5<34, bool>::S6::S7<35, bool>::S8 +S0<33, bool>::S5<34, bool>::S6::S7<35, bool>::S8 @@ -1616,12 +1704,28 @@

Member Functions

-f8 +f8 + +
+
+

R45::f8

+
+
+

Synopsis

+
+Declared in <class-template-specializations-1.cpp>
+
+
+void
+f8();
+
+
+
@@ -1637,7 +1741,7 @@

Synopsis

int I, typename T> struct R46 - : S0<36, bool>::S5<37, bool>::S6::S7<38, bool>::S9<I, T>; + : S0<36, bool>::S5<37, bool>::S6::S7<38, bool>::S9<I, T>;
@@ -1651,7 +1755,7 @@

Base Classes

-S0<36, bool>::S5<37, bool>::S6::S7<38, bool>::S9<I, T> +S0<36, bool>::S5<37, bool>::S6::S7<38, bool>::S9<I, T>
@@ -1669,7 +1773,7 @@

Synopsis

 
 struct R47
-    : S0<39, bool>::S5<40, bool>::S6::S7<41, bool>::S9<42, int>;
+    : S0<39, bool>::S5<40, bool>::S6::S7<41, bool>::S9<42, int>;
 
 
@@ -1683,7 +1787,7 @@

Base Classes

-S0<39, bool>::S5<40, bool>::S6::S7<41, bool>::S9<42, int> +S0<39, bool>::S5<40, bool>::S6::S7<41, bool>::S9<42, int> @@ -1701,7 +1805,7 @@

Synopsis

 
 struct R48
-    : S0<43, bool>::S5<44, bool>::S6::S7<45, bool>::S9<46, bool>;
+    : S0<43, bool>::S5<44, bool>::S6::S7<45, bool>::S9<46, bool>;
 
 
@@ -1715,7 +1819,7 @@

Base Classes

-S0<43, bool>::S5<44, bool>::S6::S7<45, bool>::S9<46, bool> +S0<43, bool>::S5<44, bool>::S6::S7<45, bool>::S9<46, bool> @@ -7452,8 +7556,7 @@

Types

-S3 -S4 +S3 @@ -7489,41 +7592,6 @@

Synopsis

- -
-
-

S0<10, bool>::S1::S2<11, bool>::S4

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int K,
-    typename V = void>
-struct S4;
-
-
-
- - -
-

Derived Classes

- - - - - - - - - - -
NameDescription
R35 -
-
@@ -7726,8 +7794,7 @@

Types

-S3 -S4 +S3 @@ -7763,41 +7830,6 @@

Synopsis

-
-
-
-

S0<12, bool>::S1::S2<13, bool>::S4

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int K,
-    typename V = void>
-struct S4;
-
-
-
- - -
-

Derived Classes

- - - - - - - - - - -
NameDescription
R36 -
-
@@ -8000,8 +8032,7 @@

Types

-S3 -S4 +S3 @@ -8037,41 +8068,6 @@

Synopsis

-
-
-
-

S0<15, bool>::S1::S2<16, bool>::S4

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int K,
-    typename V = void>
-struct S4;
-
-
-
- - -
-

Derived Classes

- - - - - - - - - - -
NameDescription
R37 -
-
@@ -8165,8 +8161,7 @@

Types

-S1 -S5 +S1 @@ -8202,41 +8197,6 @@

Synopsis

-
-
-
-

S0<18, bool>::S5

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int J,
-    typename U = void>
-struct S5;
-
-
-
- - -
-

Derived Classes

- - - - - - - - - - -
NameDescription
R38 -
-
@@ -8278,8 +8238,7 @@

Types

-S1 -S5 +S1 @@ -8318,7 +8277,7 @@

Synopsis

-

S0<19, bool>::S5

+

S0<19, bool>::f0

Synopsis

@@ -8326,50 +8285,15 @@

Synopsis

Declared in <class-template-specializations-1.cpp>
 
-template<
-    int J,
-    typename U = void>
-struct S5;
+void
+f0();
 
 
- - -
-

Derived Classes

- - - - - - - - - - -
NameDescription
R39 -
-
-

S0<19, bool>::f0

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-void
-f0();
-
-
-
-
-
-
-

S0<2, bool>

+

S0<2, bool>

Synopsis

@@ -8391,7 +8315,6 @@

Types

-S1 S5 @@ -8411,100 +8334,6 @@

Member Functions

-
-
-
-

S0<2, bool>::S1

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-struct S1;
-
-
-
-

Types

- - - - - - - - - - -
Name
S2
- -

Member Functions

- - - - - - - - - - -
Name
f1
- - - -
-

Derived Classes

- - - - - - - - - - -
NameDescription
R30 -
-
-
-
-
-

S0<2, bool>::S1::S2

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int J,
-    typename U = void>
-struct S2;
-
-
-
- - -
-
-
-

S0<2, bool>::S1::f1

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-void
-f1();
-
-
-
@@ -8566,8 +8395,7 @@

Types

-S1 -S5 +S1 @@ -8603,41 +8431,6 @@

Synopsis

-
-
-
-

S0<21, bool>::S5

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int J,
-    typename U = void>
-struct S5;
-
-
-
- - -
-

Derived Classes

- - - - - - - - - - -
NameDescription
R40 -
-
@@ -8753,19 +8546,6 @@

Synopsis

-

Types

- - - - - - - - - - -
Name
S6
-

Member Functions

@@ -8781,100 +8561,6 @@

Member Functions

- -
-
-

S0<23, bool>::S5<24, bool>::S6

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-struct S6;
-
-
-
-

Types

-
- - - - - - - - - -
Name
S7
- -

Member Functions

- - - - - - - - - - -
Name
f6
- - - -
-

Derived Classes

- - - - - - - - - - -
NameDescription
R41 -
-
-
-
-
-

S0<23, bool>::S5<24, bool>::S6::S7

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int K,
-    typename V = void>
-struct S7;
-
-
-
- - -
-
-
-

S0<23, bool>::S5<24, bool>::S6::f6

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-void
-f6();
-
-
-
@@ -9049,19 +8735,6 @@

Synopsis

-

Types

- - - - - - - - - - -
Name
S7
-

Member Functions

@@ -9077,41 +8750,6 @@

Member Functions

- -
-
-

S0<25, bool>::S5<26, bool>::S6::S7

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int K,
-    typename V = void>
-struct S7;
-
-
-
- - -
-

Derived Classes

-
- - - - - - - - - -
NameDescription
R42 -
-
@@ -9302,19 +8940,6 @@

Synopsis

-

Types

- - - - - - - - - - -
Name
S7
-

Member Functions

@@ -9330,41 +8955,6 @@

Member Functions

- -
-
-

S0<27, bool>::S5<28, bool>::S6::S7

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int K,
-    typename V = void>
-struct S7;
-
-
-
- - -
-

Derived Classes

-
- - - - - - - - - -
NameDescription
R43 -
-
@@ -9473,19 +9063,6 @@

Synopsis

-

Types

- - - - - - - - - - -
Name
S2
-

Member Functions

@@ -9501,41 +9078,6 @@

Member Functions

- -
-
-

S0<3, bool>::S1::S2

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int J,
-    typename U = void>
-struct S2;
-
-
-
- - -
-

Derived Classes

-
- - - - - - - - - -
NameDescription
R31 -
-
@@ -9730,19 +9272,6 @@

Synopsis

-

Types

- - - - - - - - - - -
Name
S7
-

Member Functions

@@ -9758,41 +9287,6 @@

Member Functions

- -
-
-

S0<30, bool>::S5<31, bool>::S6::S7

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int K,
-    typename V = void>
-struct S7;
-
-
-
- - -
-

Derived Classes

-
- - - - - - - - - -
NameDescription
R44 -
-
@@ -10057,7 +9551,6 @@

Types

-S8 S9 @@ -10067,77 +9560,16 @@

Member Functions

Name - - - - -f7 - - - - - -
-
-
-

S0<33, bool>::S5<34, bool>::S6::S7<35, bool>::S8

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-struct S8;
-
-
-
-

Member Functions

- - - - - - - - - - -
Name
f8
- - - -
-

Derived Classes

- - - - - - - - - - -
NameDescription
R45 -
-
-
-
-
-

S0<33, bool>::S5<34, bool>::S6::S7<35, bool>::S8::f8

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-void
-f8();
-
-
-
+ + + + +f7 + + + + +
@@ -10438,8 +9870,7 @@

Types

-S8 -S9 +S8 @@ -10475,41 +9906,6 @@

Synopsis

-
-
-
-

S0<36, bool>::S5<37, bool>::S6::S7<38, bool>::S9

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int L,
-    typename W = void>
-struct S9;
-
-
-
- - -
-

Derived Classes

- - - - - - - - - - -
NameDescription
R46 -
-
@@ -10790,8 +10186,7 @@

Types

-S8 -S9 +S8 @@ -10827,41 +10222,6 @@

Synopsis

-
-
-
-

S0<39, bool>::S5<40, bool>::S6::S7<41, bool>::S9

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int L,
-    typename W = void>
-struct S9;
-
-
-
- - -
-

Derived Classes

- - - - - - - - - - -
NameDescription
R47 -
-
@@ -10986,19 +10346,6 @@

Synopsis

-

Types

- - - - - - - - - - -
Name
S2
-

Member Functions

@@ -11014,41 +10361,6 @@

Member Functions

- -
-
-

S0<4, bool>::S1::S2

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int J,
-    typename U = void>
-struct S2;
-
-
-
- - -
-

Derived Classes

-
- - - - - - - - - -
NameDescription
R32 -
-
@@ -11317,8 +10629,7 @@

Types

-S8 -S9 +S8 @@ -11354,41 +10665,6 @@

Synopsis

-
-
-
-

S0<43, bool>::S5<44, bool>::S6::S7<45, bool>::S9

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int L,
-    typename W = void>
-struct S9;
-
-
-
- - -
-

Derived Classes

- - - - - - - - - - -
NameDescription
R48 -
-
@@ -11513,19 +10789,6 @@

Synopsis

-

Types

- - - - - - - - - - -
Name
S2
-

Member Functions

@@ -11541,41 +10804,6 @@

Member Functions

- -
-
-

S0<6, bool>::S1::S2

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-template<
-    int J,
-    typename U = void>
-struct S2;
-
-
-
- - -
-

Derived Classes

-
- - - - - - - - - -
NameDescription
R33 -
-
@@ -11762,7 +10990,6 @@

Types

-S3 S4 @@ -11782,67 +11009,6 @@

Member Functions

-
-
-
-

S0<8, bool>::S1::S2<9, bool>::S3

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-struct S3;
-
-
-
-

Member Functions

- - - - - - - - - - -
Name
f3
- - - -
-

Derived Classes

- - - - - - - - - - -
NameDescription
R34 -
-
-
-
-
-

S0<8, bool>::S1::S2<9, bool>::S3::f3

-
-
-

Synopsis

-
-Declared in <class-template-specializations-1.cpp>
-
-
-void
-f3();
-
-
-
diff --git a/test-files/golden-tests/symbols/record/class-template-specializations-1.xml b/test-files/golden-tests/symbols/record/class-template-specializations-1.xml index 19e1aa598..8a020edcb 100644 --- a/test-files/golden-tests/symbols/record/class-template-specializations-1.xml +++ b/test-files/golden-tests/symbols/record/class-template-specializations-1.xml @@ -462,11 +462,11 @@ - + @@ -497,7 +497,7 @@ - + @@ -559,11 +559,11 @@ - + @@ -594,7 +594,7 @@ - + @@ -1632,13 +1632,6 @@ - @@ -1682,13 +1675,6 @@ - @@ -1732,13 +1718,6 @@ - @@ -1768,13 +1747,6 @@ - @@ -1788,13 +1760,6 @@ - @@ -1805,19 +1770,6 @@ - - - - - - -