diff --git a/include/mrdocs/Metadata/Symbol/Function.hpp b/include/mrdocs/Metadata/Symbol/Function.hpp index b3786a9f5c..1a2adbab11 100644 --- a/include/mrdocs/Metadata/Symbol/Function.hpp +++ b/include/mrdocs/Metadata/Symbol/Function.hpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -137,6 +138,36 @@ struct FunctionSymbol final */ Optional FunctionObjectImpl; + /** Whether this function is listed on its primary's page. + + A presentation-layer flag set by `SpecializationFinalizer` + when *both* conditions hold: + + 1. This function is a template specialization (AST-local, + equivalent to `Template->specializationKind() != Primary`). + 2. Its primary is being extracted in + @ref ExtractionMode::Regular (cross-symbol, needs the + corpus). + + When set, the function is rendered in its primary's + "Specializations" section and suppressed from the parent + scope's listing. Orphan specializations (primary excluded + from extraction) fail condition 2 and keep the flag `false`, + so they remain reachable from the parent scope. The name + deliberately encodes the resulting placement rather than + the AST property in 1, which `Template` already exposes. + */ + bool IsListedOnPrimary = false; + + /** Specializations whose primary is this function. + + Populated by `SpecializationFinalizer` with the IDs of + function-template specializations referring to this + function as their primary. Sorted by referent name + then ID. + */ + std::vector Specializations; + //-------------------------------------------- /** Construct a function symbol with its ID. @@ -161,7 +192,8 @@ MRDOCS_DESCRIBE_STRUCT( IsNodiscard, IsExplicitObjectMemberFunction, Constexpr, OverloadedOperator, StorageClass, IsRecordMethod, IsVirtual, IsVirtualAsWritten, IsPure, IsConst, IsVolatile, IsFinal, - RefQualifier, Explicit, Attributes, FunctionObjectImpl) + RefQualifier, Explicit, Attributes, FunctionObjectImpl, + IsListedOnPrimary, Specializations) ) /** Map a vector of parameters to a @ref dom::Value object. diff --git a/include/mrdocs/Metadata/Symbol/Record.hpp b/include/mrdocs/Metadata/Symbol/Record.hpp index c173fd7407..598444cefa 100644 --- a/include/mrdocs/Metadata/Symbol/Record.hpp +++ b/include/mrdocs/Metadata/Symbol/Record.hpp @@ -5,6 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2026 Gennaro Prota (gennaro.prota@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // @@ -74,6 +75,43 @@ struct RecordSymbol final */ std::vector Friends; + /** Whether this record is listed on its primary's page. + + A presentation-layer flag set by `SpecializationFinalizer` + when *both* conditions hold: + + 1. This record is a template specialization (AST-local, + equivalent to `Template->specializationKind() != Primary`). + 2. Its primary is being extracted in + @ref ExtractionMode::Regular (cross-symbol, needs the + corpus). + + When set, the record is rendered in its primary's + "Specializations" section and suppressed from the parent + scope's listing. Orphan specializations (primary excluded + from extraction) fail condition 2 and keep the flag `false`, + so they remain reachable from the parent scope. The name + deliberately encodes the resulting placement rather than + the AST property in 1, which `Template` already exposes. + */ + bool IsListedOnPrimary = false; + + /** Specializations whose primary is this record. + + Populated by `SpecializationFinalizer` with the IDs of + class-template specializations referring to this record + as their primary. Sorted by referent name then ID. + */ + std::vector Specializations; + + /** Deduction guides associated with this class template. + + Populated by `SpecializationFinalizer` with the IDs of + deduction guides that deduce this record. Sorted by + referent name then ID. + */ + std::vector DeductionGuides; + //-------------------------------------------- /** Create a record symbol bound to an ID. @@ -93,7 +131,8 @@ MRDOCS_DESCRIBE_STRUCT( RecordSymbol, (SymbolCommonBase), (KeyKind, Template, IsTypeDef, IsFinal, IsFinalDestructor, - Bases, Derived, Interface, Friends) + Bases, Derived, Interface, Friends, + IsListedOnPrimary, Specializations, DeductionGuides) ) /** Return the default accessibility for a record key kind. diff --git a/mrdocs.rnc b/mrdocs.rnc index 776acb447b..cd1f9e08c3 100644 --- a/mrdocs.rnc +++ b/mrdocs.rnc @@ -370,7 +370,10 @@ grammar BaseInfo*, element derived { SymbolID }*, RecordInterface?, - FriendInfo* + FriendInfo*, + element is-listed-on-primary { Bool }?, + element specializations { SymbolID }*, + element deduction-guides { SymbolID }* } BaseInfo = @@ -445,7 +448,9 @@ grammar element ref-qualifier { text }?, element explicit { text }?, element attributes { text }*, - element function-object-impl { SymbolID }? + element function-object-impl { SymbolID }?, + element is-listed-on-primary { Bool }?, + element specializations { SymbolID }* } #--------------------------------------------- diff --git a/share/mrdocs/addons/generator/adoc/partials/symbol.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbol.adoc.hbs index 1f3290f23f..cc97cfe403 100644 --- a/share/mrdocs/addons/generator/adoc/partials/symbol.adoc.hbs +++ b/share/mrdocs/addons/generator/adoc/partials/symbol.adoc.hbs @@ -145,6 +145,16 @@ {{/each}} |=== +{{/if}} +{{! Specializations of this primary template }} +{{#if symbol.specializations}} +{{>symbol/members-table members=symbol.specializations title="Specializations"}} + +{{/if}} +{{! Deduction guides for this class template }} +{{#if symbol.deductionGuides}} +{{>symbol/members-table members=symbol.deductionGuides title="Deduction Guides"}} + {{/if}} {{! Using symbols }} {{#if symbol.shadowDeclarations}} diff --git a/share/mrdocs/addons/generator/common/partials/symbol/tranche.hbs b/share/mrdocs/addons/generator/common/partials/symbol/tranche.hbs index 7611761518..2ae5ca31a2 100644 --- a/share/mrdocs/addons/generator/common/partials/symbol/tranche.hbs +++ b/share/mrdocs/addons/generator/common/partials/symbol/tranche.hbs @@ -7,6 +7,10 @@ Each value in the tranche is a list of symbols that belong to the tranche. + Template specializations and deduction guides are filtered out: they are + listed instead on the primary template's own page, via the dedicated + "Specializations" / "Deduction Guides" sections. + Expected Context: {Tranche Object} Example: @@ -17,21 +21,20 @@ {{#if is-namespace}} {{>symbol/members-table members=tranche.namespaces title="Namespaces"}} {{>symbol/members-table members=tranche.namespaceAliases title="Namespace Aliases"}} -{{>symbol/members-table members=(concat tranche.records tranche.typedefs) title=(concat (select label (concat label " ") "") "Types")}} +{{>symbol/members-table members=(concat (reject_by tranche.records "isListedOnPrimary") tranche.typedefs) title=(concat (select label (concat label " ") "") "Types")}} {{>symbol/members-table members=tranche.enums title=(concat (select label (concat label " ") "") "Enums")}} -{{>symbol/members-table members=tranche.functions title="Functions"}} +{{>symbol/members-table members=(reject_by tranche.functions "isListedOnPrimary") title="Functions"}} {{>symbol/members-table members=tranche.variables title="Variables"}} {{>symbol/members-table members=tranche.concepts title="Concepts"}} -{{>symbol/members-table members=tranche.guides title=(concat (select label (concat label " ") "") "Deduction Guides")}} {{>symbol/members-table members=tranche.usings title=(concat (select label (concat label " ") "") "Using Declarations")}} {{else}} {{>symbol/members-table members=tranche.namespaceAliases title="Namespace Aliases"}} -{{>symbol/members-table members=(concat tranche.records tranche.typedefs) title=(concat (select label (concat label " ") "") "Types")}} +{{>symbol/members-table members=(concat (reject_by tranche.records "isListedOnPrimary") tranche.typedefs) title=(concat (select label (concat label " ") "") "Types")}} {{>symbol/members-table members=tranche.enums title=(concat (select label (concat label " ") "") "Enums")}} -{{>symbol/members-table members=tranche.functions title=(concat (select label (concat label " ") "") "Member Functions")}} -{{>symbol/members-table members=tranche.staticFunctions title=(concat (select label (concat label " ") "") "Static Member Functions")}} +{{>symbol/members-table members=(reject_by tranche.functions "isListedOnPrimary") title=(concat (select label (concat label " ") "") "Member Functions")}} +{{>symbol/members-table members=(reject_by tranche.staticFunctions "isListedOnPrimary") title=(concat (select label (concat label " ") "") "Static Member Functions")}} {{>symbol/members-table members=tranche.variables title=(concat (select label (concat label " ") "") "Data Members")}} {{>symbol/members-table members=tranche.staticVariables title=(concat (select label (concat label " ") "") "Static Data Members")}} {{>symbol/members-table members=tranche.aliases title=(concat (select label (concat label " ") "") "Aliases")}} {{>symbol/members-table members=tranche.usings title=(concat (select label (concat label " ") "") "Using Declarations")}} -{{/if}} \ No newline at end of file +{{/if}} diff --git a/share/mrdocs/addons/generator/html/partials/symbol.html.hbs b/share/mrdocs/addons/generator/html/partials/symbol.html.hbs index acab90eb12..d821439979 100644 --- a/share/mrdocs/addons/generator/html/partials/symbol.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbol.html.hbs @@ -192,6 +192,18 @@ {{/if}} +{{! Specializations of this primary template }} +{{#if symbol.specializations}} +
+{{>symbol/members-table members=symbol.specializations title="Specializations"}} +
+{{/if}} +{{! Deduction guides for this class template }} +{{#if symbol.deductionGuides}} +
+{{>symbol/members-table members=symbol.deductionGuides title="Deduction Guides"}} +
+{{/if}} {{! Using symbols }} {{#if symbol.shadowDeclarations}}
diff --git a/src/lib/CorpusImpl.cpp b/src/lib/CorpusImpl.cpp index 559362e8cb..ea0cbbe483 100644 --- a/src/lib/CorpusImpl.cpp +++ b/src/lib/CorpusImpl.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -1078,6 +1079,14 @@ CorpusImpl::finalize() finalizer.build(); } + // Populate primary -> specialization back-pointers + // and the deduction-guide lists on deduced records. + { + report::debug(" - Finalizing specializations"); + SpecializationFinalizer finalizer(*this); + finalizer.build(); + } + // Sort members: this runs unconditionally because // the members of some symbol types are always sorted. { diff --git a/src/lib/CorpusImpl.hpp b/src/lib/CorpusImpl.hpp index d6076349b2..07ee32ba10 100644 --- a/src/lib/CorpusImpl.hpp +++ b/src/lib/CorpusImpl.hpp @@ -64,6 +64,7 @@ class CorpusImpl final : public Corpus friend class NamespacesFinalizer; friend class DerivedFinalizer; friend class FunctionObjectFinalizer; + friend class SpecializationFinalizer; public: /** Constructor. diff --git a/src/lib/Metadata/Finalizers/SpecializationFinalizer.cpp b/src/lib/Metadata/Finalizers/SpecializationFinalizer.cpp new file mode 100644 index 0000000000..89b7478b02 --- /dev/null +++ b/src/lib/Metadata/Finalizers/SpecializationFinalizer.cpp @@ -0,0 +1,171 @@ +// +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2026 Gennaro Prota (gennaro.prota@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#include "SpecializationFinalizer.hpp" +#include +#include +#include + +namespace mrdocs { + +namespace { + +// Return the `SymbolID` of the primary class template that a +// deduction guide deduces, or `SymbolID::invalid` when it +// cannot be determined. +SymbolID +deducedPrimaryID(GuideSymbol const& guide) +{ + if (guide.Deduced.valueless_after_move() + || !guide.Deduced->isNamed()) + { + return SymbolID::invalid; + } + NamedType const& namedType = guide.Deduced->asNamed(); + if (namedType.Name.valueless_after_move()) + { + return SymbolID::invalid; + } + return namedType.Name->id; +} + +} // (unnamed) + +void +SpecializationFinalizer:: +processRecord(RecordSymbol const& I) +{ + if (!I.Template + || I.Template->specializationKind() == TemplateSpecKind::Primary) + { + return; + } + Symbol* primary = corpus_.find(I.Template->Primary); + if (!primary + || primary->Extraction != ExtractionMode::Regular + || !primary->isRecord()) + { + return; + } + primary->asRecordPtr()->Specializations.push_back(I.id); + Symbol* self = corpus_.find(I.id); + MRDOCS_ASSERT(self && self->isRecord()); + self->asRecordPtr()->IsListedOnPrimary = true; +} + +void +SpecializationFinalizer:: +processFunction(FunctionSymbol const& I) +{ + if (!I.Template + || I.Template->specializationKind() == TemplateSpecKind::Primary) + { + return; + } + Symbol* primary = corpus_.find(I.Template->Primary); + if (!primary + || primary->Extraction != ExtractionMode::Regular + || !primary->isFunction()) + { + return; + } + primary->asFunctionPtr()->Specializations.push_back(I.id); + Symbol* self = corpus_.find(I.id); + MRDOCS_ASSERT(self && self->isFunction()); + self->asFunctionPtr()->IsListedOnPrimary = true; +} + +void +SpecializationFinalizer:: +processGuide(GuideSymbol const& I) +{ + SymbolID const deducedId = deducedPrimaryID(I); + if (!deducedId) + { + return; + } + Symbol* deduced = corpus_.find(deducedId); + if (!deduced + || deduced->Extraction != ExtractionMode::Regular + || !deduced->isRecord()) + { + return; + } + deduced->asRecordPtr()->DeductionGuides.push_back(I.id); +} + +void +SpecializationFinalizer:: +sortBackPointers() +{ + auto byReferentName = [this](SymbolID const& lhs, SymbolID const& rhs) + { + Symbol const* lhsInfo = corpus_.find(lhs); + Symbol const* rhsInfo = corpus_.find(rhs); + if (!lhsInfo || !rhsInfo) + { + return lhs < rhs; + } + if (lhsInfo->Name != rhsInfo->Name) + { + return lhsInfo->Name < rhsInfo->Name; + } + return lhs < rhs; + }; + for (Symbol const& I : corpus_) + { + if (I.isRecord()) + { + RecordSymbol const& R = I.asRecord(); + if (!R.Specializations.empty() || !R.DeductionGuides.empty()) + { + RecordSymbol* mut = corpus_.find(I.id)->asRecordPtr(); + std::ranges::sort(mut->Specializations, byReferentName); + std::ranges::sort(mut->DeductionGuides, byReferentName); + } + } + else if (I.isFunction()) + { + FunctionSymbol const& F = I.asFunction(); + if (!F.Specializations.empty()) + { + FunctionSymbol* mut = corpus_.find(I.id)->asFunctionPtr(); + std::ranges::sort(mut->Specializations, byReferentName); + } + } + } +} + +void +SpecializationFinalizer:: +build() +{ + for (Symbol const& I : corpus_) + { + if (I.Extraction == ExtractionMode::Regular) + { + if (I.isRecord()) + { + processRecord(I.asRecord()); + } + else if (I.isFunction()) + { + processFunction(I.asFunction()); + } + else if (I.isGuide()) + { + processGuide(I.asGuide()); + } + } + } + sortBackPointers(); +} + +} // mrdocs diff --git a/src/lib/Metadata/Finalizers/SpecializationFinalizer.hpp b/src/lib/Metadata/Finalizers/SpecializationFinalizer.hpp new file mode 100644 index 0000000000..a7638e0b4e --- /dev/null +++ b/src/lib/Metadata/Finalizers/SpecializationFinalizer.hpp @@ -0,0 +1,68 @@ +// +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2026 Gennaro Prota (gennaro.prota@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#ifndef MRDOCS_LIB_METADATA_FINALIZERS_SPECIALIZATIONFINALIZER_HPP +#define MRDOCS_LIB_METADATA_FINALIZERS_SPECIALIZATIONFINALIZER_HPP + +#include + +namespace mrdocs { + +/** Populate the back-pointers from primaries to their specializations. + + For each class- or function-template specialization extracted + in @ref ExtractionMode::Regular whose primary is also `Regular`, + appends the specialization's ID to the primary's + `Specializations` list and sets the specialization's + `IsListedOnPrimary` flag. For each `Regular` deduction guide, + appends its ID to the deduced record's `DeductionGuides` + list. The populated lists are sorted by referent name then ID. + + Orphan specializations - those whose primary is not extracted + in `Regular` mode - keep `IsListedOnPrimary` `false` so they + remain reachable from the parent scope's listing. +*/ +class SpecializationFinalizer +{ + CorpusImpl& corpus_; + + void processRecord(RecordSymbol const& I); + void processFunction(FunctionSymbol const& I); + void processGuide(GuideSymbol const& I); + + void sortBackPointers(); + +public: + /** Construct the finalizer bound to a corpus. + + @param corpus The corpus whose specialization and deduction-guide + back-pointers will be populated by `build`. + */ + explicit + SpecializationFinalizer(CorpusImpl& corpus) noexcept + : corpus_(corpus) + { + } + + /** Populate the back-pointers and sort them. + + Walks the corpus once, appending each `Regular` specialization + to its primary's `Specializations` list (when the primary is + also regular) and each `Regular` deduction guide to its deduced + record's `DeductionGuides` list. Specializations whose primary + will be rendered also get their `IsListedOnPrimary` flag set. + Finally sorts every populated vector by referent name then ID. + */ + void build(); +}; + +} // mrdocs + +#endif // MRDOCS_LIB_METADATA_FINALIZERS_SPECIALIZATIONFINALIZER_HPP diff --git a/src/lib/Support/Handlebars.cpp b/src/lib/Support/Handlebars.cpp index 41ccb9bf72..c989a5ead5 100644 --- a/src/lib/Support/Handlebars.cpp +++ b/src/lib/Support/Handlebars.cpp @@ -4,6 +4,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // // Copyright (c) 2023 Alan de Freitas (alandefreitas@gmail.com) +// Copyright (c) 2026 Gennaro Prota (gennaro.prota@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // @@ -6481,6 +6482,60 @@ registerContainerHelpers(Handlebars& hbs) hbs.registerHelper("filter_by", filter_by_fn); + static auto reject_by_fn = dom::makeVariadicInvocable([]( + dom::Array const& arguments) -> dom::Value + { + dom::Value container = arguments.at(0); + std::vector keys; + for (std::size_t i = 1; i < arguments.size() - 1; ++i) + { + dom::Value key = arguments.at(i); + keys.push_back(key); + } + + // Given an array of objects, reject (exclude) those whose + // value at any of the given keys is truthy. Inverse of + // `filter_by`: non-object elements are kept, since they + // have no keys to test. + if (container.isArray()) + { + dom::Array const& arr = container.getArray(); + + std::vector res; + std::size_t const n = arr.size(); + for (std::size_t i = 0; i < n; ++i) { + dom::Value el = arr.at(i); + + if (!el.isObject()) + { + res.emplace_back(el); + continue; + } + + auto const matchIt = std::ranges::find_if( + keys, + [&](dom::Value const& key) + { + return + el.getObject().exists(key.getString()) && + el.getObject().get(key.getString()).isTruthy(); + }); + if (matchIt != keys.end()) + { + continue; + } + + res.emplace_back(el); + } + return dom::Array(res); + } + + // If the value is not an array, then we can't reject from it + return container; + }); + + hbs.registerHelper("reject_by", reject_by_fn); + static auto any_of_by_fn = dom::makeVariadicInvocable([]( dom::Array const& arguments) -> dom::Value { diff --git a/test-files/golden-tests/config/extract-friends/extract-friends.adoc b/test-files/golden-tests/config/extract-friends/extract-friends.adoc index 8176f9d0dc..8ccee7af63 100644 --- a/test-files/golden-tests/config/extract-friends/extract-friends.adoc +++ b/test-files/golden-tests/config/extract-friends/extract-friends.adoc @@ -29,7 +29,6 @@ |=== | Name | link:#std-hash-03[`hash`] -| link:#std-hash-08[`hash<A>`] |=== [#std-hash-03] @@ -45,6 +44,15 @@ template<class T> class hash; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#std-hash-08[`hash<A>`] +|=== + + [#std-hash-08] == link:#std[std]::link:#std-hash-03[hash]<link:#A[A]> diff --git a/test-files/golden-tests/config/extract-friends/extract-friends.html b/test-files/golden-tests/config/extract-friends/extract-friends.html index 3d53e7cd99..6554dcc776 100644 --- a/test-files/golden-tests/config/extract-friends/extract-friends.html +++ b/test-files/golden-tests/config/extract-friends/extract-friends.html @@ -55,8 +55,7 @@

-hash -hash<A> +hash @@ -76,6 +75,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
hash<A>
+ +
diff --git a/test-files/golden-tests/config/extract-friends/extract-friends.xml b/test-files/golden-tests/config/extract-friends/extract-friends.xml index d10d24ae21..db3644351b 100644 --- a/test-files/golden-tests/config/extract-friends/extract-friends.xml +++ b/test-files/golden-tests/config/extract-friends/extract-friends.xml @@ -67,6 +67,7 @@ + jTCZUvygQOxo6L+VfFZcAI6KU0Y= hash @@ -105,6 +106,7 @@ + 1 operator() diff --git a/test-files/golden-tests/config/extract-friends/no-extract-friends.adoc b/test-files/golden-tests/config/extract-friends/no-extract-friends.adoc index 0b50695f0a..17510a1167 100644 --- a/test-files/golden-tests/config/extract-friends/no-extract-friends.adoc +++ b/test-files/golden-tests/config/extract-friends/no-extract-friends.adoc @@ -29,7 +29,6 @@ |=== | Name | link:#std-hash-03[`hash`] -| link:#std-hash-08[`hash<A>`] |=== [#std-hash-03] @@ -45,6 +44,15 @@ template<class T> class hash; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#std-hash-08[`hash<A>`] +|=== + + [#std-hash-08] == link:#std[std]::link:#std-hash-03[hash]<link:#A[A]> diff --git a/test-files/golden-tests/config/extract-friends/no-extract-friends.html b/test-files/golden-tests/config/extract-friends/no-extract-friends.html index 0d017217ca..2990afd818 100644 --- a/test-files/golden-tests/config/extract-friends/no-extract-friends.html +++ b/test-files/golden-tests/config/extract-friends/no-extract-friends.html @@ -55,8 +55,7 @@

-hash -hash<A> +hash @@ -76,6 +75,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
hash<A>
+ +
diff --git a/test-files/golden-tests/config/extract-friends/no-extract-friends.xml b/test-files/golden-tests/config/extract-friends/no-extract-friends.xml index d6632f40c4..783eb57cb9 100644 --- a/test-files/golden-tests/config/extract-friends/no-extract-friends.xml +++ b/test-files/golden-tests/config/extract-friends/no-extract-friends.xml @@ -67,6 +67,7 @@ + jTCZUvygQOxo6L+VfFZcAI6KU0Y= hash @@ -105,6 +106,7 @@ + 1 operator() diff --git a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.adoc b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.adoc index c88bd28d08..1c212a4b92 100644 --- a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.adoc +++ b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.adoc @@ -11,11 +11,7 @@ | Name | link:#D[`D`] | link:#C-0f[`C`] -| link:#C-0d[`C<int, char>`] -| link:#C-03[`C<int>`] | link:#B-0b[`B`] -| link:#B-04[`B<int, char>`] -| link:#B-05[`B<int, U>`] | link:#A[`A`] | link:#Z[`Z`] |=== @@ -66,6 +62,16 @@ template< struct C; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#C-03[`C<int>`] +| link:#C-0d[`C<int, char>`] +|=== + + [#C-0d] == link:#C-0f[C]<int, char> @@ -107,6 +113,16 @@ template< struct B; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#B-04[`B<int, char>`] +| link:#B-05[`B<int, U>`] +|=== + + [#B-04] == link:#B-0b[B]<int, char> @@ -525,6 +541,15 @@ g( T); ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#g-0e4[`g<int>`] +|=== + + [#g-0e4] == link:#g-03c[g]<int> diff --git a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.html b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.html index 0ea675a24c..179a035ea2 100644 --- a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.html +++ b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.html @@ -23,11 +23,7 @@

D C -C<int, char> -C<int> B -B<int, char> -B<int, U> A Z @@ -85,6 +81,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
C<int>
C<int, char>
+ +
@@ -135,6 +148,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
B<int, char>
B<int, U>
+ +
@@ -592,6 +622,22 @@

T, T, T); +

+
+

+Specializations

+ + + + + + + + + + +
Name
g<int>
+
diff --git a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.xml b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.xml index 81fc115fb9..b0404a3e72 100644 --- a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.xml +++ b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.xml @@ -93,6 +93,8 @@ + NLoLTepRVq6Wm8kqUGSEoM03TKg= + 1gG5jFtdo9Wauh4eNKJFnssDpFU= C @@ -138,6 +140,7 @@ + 1 C @@ -174,6 +177,7 @@ + 1 B @@ -210,6 +214,8 @@ + S+FvHbXPEwSCkNHoe9TC9L5a4Yk= + VwFE3CILPejPf11zTv20aat7w8Q= B @@ -255,6 +261,7 @@ + 1 B @@ -305,6 +312,7 @@ + 1 A @@ -1030,6 +1038,7 @@ normal + 5LjM4cXZ7IywLIZW1RtfpP7tNNk= g @@ -1088,6 +1097,7 @@ PEedgXj8uxMWKd/yZk6yqAz6boU= normal + 1 g diff --git a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.adoc b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.adoc index a5c37427ed..576529810e 100644 --- a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.adoc +++ b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.adoc @@ -11,11 +11,7 @@ | Name | link:#A[`A`] | link:#B-0b[`B`] -| link:#B-04[`B<int, char>`] -| link:#B-05[`B<int, U>`] | link:#C-0f[`C`] -| link:#C-03[`C<int>`] -| link:#C-0d[`C<int, char>`] | link:#D[`D`] | link:#Z[`Z`] |=== @@ -80,6 +76,16 @@ template< struct B; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#B-04[`B<int, char>`] +| link:#B-05[`B<int, U>`] +|=== + + [#B-04] == link:#B-0b[B]<int, char> @@ -121,6 +127,16 @@ template< struct C; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#C-03[`C<int>`] +| link:#C-0d[`C<int, char>`] +|=== + + [#C-03] == link:#C-0f[C]<int> @@ -595,6 +611,15 @@ g( T); ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#g-0e4[`g<int>`] +|=== + + [#g-0e4] == link:#g-03c[g]<int> diff --git a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.html b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.html index c73dd3066f..29fe242c29 100644 --- a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.html +++ b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.html @@ -23,11 +23,7 @@

A B -B<int, char> -B<int, U> C -C<int> -C<int, char> D Z @@ -102,6 +98,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
B<int, char>
B<int, U>
+ +
@@ -152,6 +165,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
C<int>
C<int, char>
+ +
@@ -667,6 +697,22 @@

T, T, T); +

+
+

+Specializations

+ + + + + + + + + + +
Name
g<int>
+
diff --git a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.xml b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.xml index 58f9b39153..c0dd3907b9 100644 --- a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.xml +++ b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.xml @@ -101,6 +101,8 @@ + S+FvHbXPEwSCkNHoe9TC9L5a4Yk= + VwFE3CILPejPf11zTv20aat7w8Q= B @@ -146,6 +148,7 @@ + 1 B @@ -196,6 +199,7 @@ + 1 C @@ -241,6 +245,8 @@ + NLoLTepRVq6Wm8kqUGSEoM03TKg= + 1gG5jFtdo9Wauh4eNKJFnssDpFU= C @@ -277,6 +283,7 @@ + 1 C @@ -322,6 +329,7 @@ + 1 D @@ -1202,6 +1210,7 @@ normal + 5LjM4cXZ7IywLIZW1RtfpP7tNNk= g @@ -1260,6 +1269,7 @@ PEedgXj8uxMWKd/yZk6yqAz6boU= normal + 1 h diff --git a/test-files/golden-tests/config/sort/sort-members.adoc b/test-files/golden-tests/config/sort/sort-members.adoc index 162873f655..b4ebe01f59 100644 --- a/test-files/golden-tests/config/sort/sort-members.adoc +++ b/test-files/golden-tests/config/sort/sort-members.adoc @@ -11,11 +11,7 @@ | Name | link:#A[`A`] | link:#B-0b[`B`] -| link:#B-04[`B<int, char>`] -| link:#B-05[`B<int, U>`] | link:#C-0f[`C`] -| link:#C-03[`C<int>`] -| link:#C-0d[`C<int, char>`] | link:#D[`D`] | link:#Z[`Z`] |=== @@ -80,6 +76,16 @@ template< struct B; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#B-04[`B<int, char>`] +| link:#B-05[`B<int, U>`] +|=== + + [#B-04] == link:#B-0b[B]<int, char> @@ -121,6 +127,16 @@ template< struct C; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#C-03[`C<int>`] +| link:#C-0d[`C<int, char>`] +|=== + + [#C-03] == link:#C-0f[C]<int> @@ -595,6 +611,15 @@ g( T); ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#g-0e4[`g<int>`] +|=== + + [#g-0e4] == link:#g-03c[g]<int> diff --git a/test-files/golden-tests/config/sort/sort-members.html b/test-files/golden-tests/config/sort/sort-members.html index b851359ade..794b7485c3 100644 --- a/test-files/golden-tests/config/sort/sort-members.html +++ b/test-files/golden-tests/config/sort/sort-members.html @@ -23,11 +23,7 @@

A B -B<int, char> -B<int, U> C -C<int> -C<int, char> D Z @@ -102,6 +98,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
B<int, char>
B<int, U>
+ +
@@ -152,6 +165,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
C<int>
C<int, char>
+ +
@@ -667,6 +697,22 @@

T, T, T); +

+
+

+Specializations

+ + + + + + + + + + +
Name
g<int>
+
diff --git a/test-files/golden-tests/config/sort/sort-members.xml b/test-files/golden-tests/config/sort/sort-members.xml index cffd20302d..3cf356479b 100644 --- a/test-files/golden-tests/config/sort/sort-members.xml +++ b/test-files/golden-tests/config/sort/sort-members.xml @@ -101,6 +101,8 @@ + S+FvHbXPEwSCkNHoe9TC9L5a4Yk= + VwFE3CILPejPf11zTv20aat7w8Q= B @@ -146,6 +148,7 @@ + 1 B @@ -196,6 +199,7 @@ + 1 C @@ -241,6 +245,8 @@ + NLoLTepRVq6Wm8kqUGSEoM03TKg= + 1gG5jFtdo9Wauh4eNKJFnssDpFU= C @@ -277,6 +283,7 @@ + 1 C @@ -322,6 +329,7 @@ + 1 D @@ -1202,6 +1210,7 @@ normal + 5LjM4cXZ7IywLIZW1RtfpP7tNNk= g @@ -1260,6 +1269,7 @@ PEedgXj8uxMWKd/yZk6yqAz6boU= normal + 1 h diff --git a/test-files/golden-tests/config/sort/unordered.adoc b/test-files/golden-tests/config/sort/unordered.adoc index ec08d339ac..da1275f267 100644 --- a/test-files/golden-tests/config/sort/unordered.adoc +++ b/test-files/golden-tests/config/sort/unordered.adoc @@ -11,11 +11,7 @@ | Name | link:#D[`D`] | link:#C-0f[`C`] -| link:#C-0d[`C<int, char>`] -| link:#C-03[`C<int>`] | link:#B-0b[`B`] -| link:#B-04[`B<int, char>`] -| link:#B-05[`B<int, U>`] | link:#A[`A`] | link:#Z[`Z`] |=== @@ -66,6 +62,16 @@ template< struct C; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#C-03[`C<int>`] +| link:#C-0d[`C<int, char>`] +|=== + + [#C-0d] == link:#C-0f[C]<int, char> @@ -107,6 +113,16 @@ template< struct B; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#B-04[`B<int, char>`] +| link:#B-05[`B<int, U>`] +|=== + + [#B-04] == link:#B-0b[B]<int, char> @@ -620,6 +636,15 @@ g( T); ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#g-0e4[`g<int>`] +|=== + + [#g-0e4] == link:#g-03c[g]<int> diff --git a/test-files/golden-tests/config/sort/unordered.html b/test-files/golden-tests/config/sort/unordered.html index 262308744c..c584babb0f 100644 --- a/test-files/golden-tests/config/sort/unordered.html +++ b/test-files/golden-tests/config/sort/unordered.html @@ -23,11 +23,7 @@

D C -C<int, char> -C<int> B -B<int, char> -B<int, U> A Z @@ -85,6 +81,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
C<int>
C<int, char>
+ +
@@ -135,6 +148,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
B<int, char>
B<int, U>
+ +
@@ -724,6 +754,22 @@

T, T, T); +

+
+

+Specializations

+ + + + + + + + + + +
Name
g<int>
+
diff --git a/test-files/golden-tests/config/sort/unordered.xml b/test-files/golden-tests/config/sort/unordered.xml index b14dd090e9..001086d391 100644 --- a/test-files/golden-tests/config/sort/unordered.xml +++ b/test-files/golden-tests/config/sort/unordered.xml @@ -93,6 +93,8 @@ + NLoLTepRVq6Wm8kqUGSEoM03TKg= + 1gG5jFtdo9Wauh4eNKJFnssDpFU= C @@ -138,6 +140,7 @@ + 1 C @@ -174,6 +177,7 @@ + 1 B @@ -210,6 +214,8 @@ + S+FvHbXPEwSCkNHoe9TC9L5a4Yk= + VwFE3CILPejPf11zTv20aat7w8Q= B @@ -255,6 +261,7 @@ + 1 B @@ -305,6 +312,7 @@ + 1 A @@ -1318,6 +1326,7 @@ normal + 5LjM4cXZ7IywLIZW1RtfpP7tNNk= g @@ -1376,6 +1385,7 @@ PEedgXj8uxMWKd/yZk6yqAz6boU= normal + 1 g diff --git a/test-files/golden-tests/filters/symbol-type/nested-private-template.adoc b/test-files/golden-tests/filters/symbol-type/nested-private-template.adoc index 563aac48d7..555b6779ac 100644 --- a/test-files/golden-tests/filters/symbol-type/nested-private-template.adoc +++ b/test-files/golden-tests/filters/symbol-type/nested-private-template.adoc @@ -31,7 +31,6 @@ class range; |=== | Name | link:#range-impl-0e[`impl`] -| link:#range-impl-00[`impl<R, false>`] |=== [#range-impl-0e] @@ -49,6 +48,15 @@ template< struct impl; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#range-impl-00[`impl<R, false>`] +|=== + + [#range-impl-00] == link:#range[range]::link:#range-impl-0e[impl]<R, false> diff --git a/test-files/golden-tests/filters/symbol-type/nested-private-template.html b/test-files/golden-tests/filters/symbol-type/nested-private-template.html index d60b83ee22..225880b0cf 100644 --- a/test-files/golden-tests/filters/symbol-type/nested-private-template.html +++ b/test-files/golden-tests/filters/symbol-type/nested-private-template.html @@ -51,8 +51,7 @@

-impl -impl<R, false> +impl @@ -74,6 +73,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
impl<R, false>
+ +
diff --git a/test-files/golden-tests/filters/symbol-type/nested-private-template.xml b/test-files/golden-tests/filters/symbol-type/nested-private-template.xml index c4da398361..d9a9bba964 100644 --- a/test-files/golden-tests/filters/symbol-type/nested-private-template.xml +++ b/test-files/golden-tests/filters/symbol-type/nested-private-template.xml @@ -83,6 +83,7 @@ + BCRU3eMBRSysyvFsjJj+0yg+Vfc= impl @@ -128,5 +129,6 @@ + 1 diff --git a/test-files/golden-tests/javadoc/copydoc/template-arguments.adoc b/test-files/golden-tests/javadoc/copydoc/template-arguments.adoc index afd606c725..ec71d0cd74 100644 --- a/test-files/golden-tests/javadoc/copydoc/template-arguments.adoc +++ b/test-files/golden-tests/javadoc/copydoc/template-arguments.adoc @@ -22,16 +22,8 @@ | Name| Description | link:#A-B-08[`B`] | Main class template for B. -| link:#A-B-09[`B<int>`] -| Specialization of B for int. -| link:#A-B-0c[`B<int, 2>`] -| Specialization of B for int with value 2. | link:#A-C-05[`C`] | Main class template for C. -| link:#A-C-0f[`C<D, true>`] -| Specialization of C for D with true. -| link:#A-C-0c[`C<int, true>`] -| Specialization of C for int with true. | link:#A-D[`D`] | Helper struct D. | link:#A-BInt[`BInt`] @@ -175,6 +167,18 @@ template< struct B; ---- +=== Specializations + +[cols="1,4"] +|=== +| Name| Description +| link:#A-B-09[`B<int>`] +| Specialization of B for int. +| link:#A-B-0c[`B<int, 2>`] +| Specialization of B for int with value 2. +|=== + + === Template Parameters [cols="1,4"] @@ -234,6 +238,18 @@ template< struct C; ---- +=== Specializations + +[cols="1,4"] +|=== +| Name| Description +| link:#A-C-0c[`C<int, true>`] +| Specialization of C for int with true. +| link:#A-C-0f[`C<D, true>`] +| Specialization of C for D with true. +|=== + + === Template Parameters [cols="1,4"] diff --git a/test-files/golden-tests/javadoc/copydoc/template-arguments.html b/test-files/golden-tests/javadoc/copydoc/template-arguments.html index 66476702e6..6ceaae2524 100644 --- a/test-files/golden-tests/javadoc/copydoc/template-arguments.html +++ b/test-files/golden-tests/javadoc/copydoc/template-arguments.html @@ -42,11 +42,7 @@

B Main class template for B. -B<int> Specialization of B for int. -B<int, 2> Specialization of B for int with value 2. C Main class template for C. -C<D, true> Specialization of C for D with true. -C<int, true> Specialization of C for int with true. D Helper struct D. BInt Specialization of B for int. BInt2 Specialization of B for int with value 2. @@ -216,6 +212,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
NameDescription
B<int> Specialization of B for int.
B<int, 2> Specialization of B for int with value 2.
+ +

Template Parameters

@@ -297,6 +310,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
NameDescription
C<int, true> Specialization of C for int with true.
C<D, true> Specialization of C for D with true.
+ +

Template Parameters

diff --git a/test-files/golden-tests/javadoc/copydoc/template-arguments.xml b/test-files/golden-tests/javadoc/copydoc/template-arguments.xml index 06b5f52acc..bf540ed784 100644 --- a/test-files/golden-tests/javadoc/copydoc/template-arguments.xml +++ b/test-files/golden-tests/javadoc/copydoc/template-arguments.xml @@ -364,6 +364,8 @@ + n2ekv7/9IraylJIibujZeExrML4= + zWh7HJU4uEOW6SQu1/X6/fBkFq0= B @@ -410,6 +412,7 @@ + 1 B @@ -460,6 +463,7 @@ + 1 C @@ -530,6 +534,8 @@ + w5ssdgUOfKNpDbPFUfSYesxFAc8= + +AYNfv3bBiQwa6z9A60U/F7dvXE= C @@ -581,6 +587,7 @@ + 1 C @@ -631,6 +638,7 @@ + 1 D diff --git a/test-files/golden-tests/symbols/function/sfinae.adoc b/test-files/golden-tests/symbols/function/sfinae.adoc index b99b0f67cd..fbe0a9a425 100644 --- a/test-files/golden-tests/symbols/function/sfinae.adoc +++ b/test-files/golden-tests/symbols/function/sfinae.adoc @@ -19,12 +19,8 @@ | Name| Description | link:#A-09[`A`] | The partial specialization of A is enabled via a template parameter -| link:#A-07[`A<T>`] -| Specialization for integral types | link:#S-02[`S`] | SFINAE with std::void_t -| link:#S-08[`S<T, std::void_t<T::a::b>>`] -| SFINAE with std::void_t |=== === Functions @@ -104,6 +100,16 @@ template< class A; ---- +=== Specializations + +[cols="1,4"] +|=== +| Name| Description +| link:#A-07[`A<T>`] +| Specialization for integral types +|=== + + [#A-07] == link:#A-09[A]<T> @@ -145,6 +151,16 @@ struct S; | link:#S-02-store[`store`] |=== +=== Specializations + +[cols="1,4"] +|=== +| Name| Description +| link:#S-08[`S<T, std::void_t<T::a::b>>`] +| SFINAE with std::void_t +|=== + + [#S-02-store] == link:#S-02[S]::store diff --git a/test-files/golden-tests/symbols/function/sfinae.html b/test-files/golden-tests/symbols/function/sfinae.html index ef5fc1c63c..dda4bdf5e3 100644 --- a/test-files/golden-tests/symbols/function/sfinae.html +++ b/test-files/golden-tests/symbols/function/sfinae.html @@ -36,9 +36,7 @@

A The partial specialization of A is enabled via a template parameter -A<T> Specialization for integral types -S SFINAE with std::void_t -S<T, std::void_t<T::a::b>> SFINAE with std::void_t +S SFINAE with std::void_t @@ -136,6 +134,22 @@

+
+

+Specializations

+ + + + + + + + + + +
NameDescription
A<T> Specialization for integral types
+ +
@@ -191,6 +205,22 @@

+
+

+Specializations

+ + + + + + + + + + +
NameDescription
S<T, std::void_t<T::a::b>> SFINAE with std::void_t
+ +

diff --git a/test-files/golden-tests/symbols/function/sfinae.xml b/test-files/golden-tests/symbols/function/sfinae.xml index cfb4b1a3c9..38f9264779 100644 --- a/test-files/golden-tests/symbols/function/sfinae.xml +++ b/test-files/golden-tests/symbols/function/sfinae.xml @@ -129,6 +129,7 @@ + f80OzcD5UlgQ2KOvUj+MvoJcAFE= A @@ -181,6 +182,7 @@ + 1 S @@ -237,6 +239,7 @@ + g0UNZpdodOU5mGCtcpviXd8o6Vk= store @@ -338,6 +341,7 @@ + 1 store diff --git a/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.adoc b/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.adoc index e5bf2b59b3..20d9edeac7 100644 --- a/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.adoc +++ b/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.adoc @@ -10,9 +10,6 @@ |=== | Name | link:#A-0e[`A`] -| link:#A-0f[`A<bool>`] -| link:#A-000[`A<int>`] -| link:#A-00b[`A<short>`] | link:#D[`D`] |=== @@ -46,6 +43,17 @@ struct A; | link:#A-0e-f[`f`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-000[`A<int>`] +| link:#A-00b[`A<short>`] +| link:#A-0f[`A<bool>`] +|=== + + [#A-0e-B] == link:#A-0e[A]::B @@ -67,6 +75,15 @@ struct B; | link:#A-0e-B-g[`g`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-000-B-09[`B<long>`] +|=== + + [#A-0e-B-g] == link:#A-0e[A]::link:#A-0e-B[B]::g @@ -101,6 +118,16 @@ struct C; | link:#A-0e-C-h[`h`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-0f-C-01[`C<double*>`] +| link:#A-0f-C-0c[`C<U*>`] +|=== + + [#A-0e-C-h] == link:#A-0e[A]::link:#A-0e-C[C]::h @@ -147,8 +174,6 @@ struct link:#A-0e[A]<bool>; | Name | link:#A-0f-B[`B`] | link:#A-0f-C-00[`C`] -| link:#A-0f-C-01[`C<double*>`] -| link:#A-0f-C-0c[`C<U*>`] |=== === Member Functions @@ -285,7 +310,6 @@ struct link:#A-0e[A]<int>; |=== | Name | link:#A-000-B-03[`B`] -| link:#A-000-B-09[`B<long>`] | link:#A-000-C[`C`] |=== @@ -478,7 +502,6 @@ struct D; |=== | Name | link:#D-E-0e[`E`] -| link:#D-E-0d[`E<int>`] |=== [#D-E-0e] @@ -502,6 +525,15 @@ struct E; | link:#D-E-0e-k[`k`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#D-E-0d[`E<int>`] +|=== + + [#D-E-0e-k] == link:#D[D]::link:#D-E-0e[E]::k diff --git a/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.html b/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.html index 113eab4aaf..a87f7f4acf 100644 --- a/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.html +++ b/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.html @@ -22,9 +22,6 @@

A -A<bool> -A<int> -A<short> D @@ -74,6 +71,24 @@

+
+

+Specializations

+ + + + + + + + + + + + +
Name
A<int>
A<short>
A<bool>
+ +

@@ -104,6 +119,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
B<long>
+ +

@@ -148,6 +179,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
C<double*>
C<U*>
+ +

@@ -201,9 +249,7 @@

B -C -C<double*> -C<U*> +C @@ -382,7 +428,6 @@

B -B<long> C @@ -635,8 +680,7 @@

-E -E<int> +E @@ -672,6 +716,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
E<int>
+ +

diff --git a/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.xml b/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.xml index 7d5ef71cf7..5ecedd2899 100644 --- a/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.xml +++ b/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.xml @@ -48,6 +48,9 @@ + AKwlChAOi+0ttIAPsD7uitS+gk0= + C6fFmGgpPJ7jgwKJA98mfx5cxts= + /vjeowK9rbOfBZNuMjVMRn2iGMo= B @@ -80,6 +83,7 @@ + kLfkJ6zwS7/fgRzTYaPfbg3WHg8= g @@ -135,6 +139,8 @@ + EyperGIiZ7cSv/PB2BApKjPRQVA= + xYK8qpEgWzczUMGnNUx+ozeBle0= h @@ -222,6 +228,7 @@ + 1 B @@ -323,6 +330,7 @@ + 1 j @@ -396,6 +404,7 @@ + 1 j @@ -482,6 +491,7 @@ + 1 B @@ -550,6 +560,7 @@ + 1 g @@ -678,6 +689,7 @@ + 1 B @@ -851,6 +863,7 @@ + 27+9TQyh1Vcx+C3POBLdyXJP8bo= k @@ -911,6 +924,7 @@ + 1 k diff --git a/test-files/golden-tests/symbols/guide/explicit-deduct-guide.adoc b/test-files/golden-tests/symbols/guide/explicit-deduct-guide.adoc index 2551854f2e..3bb3d530dd 100644 --- a/test-files/golden-tests/symbols/guide/explicit-deduct-guide.adoc +++ b/test-files/golden-tests/symbols/guide/explicit-deduct-guide.adoc @@ -12,17 +12,6 @@ | link:#X-0e[`X`] |=== -=== Deduction Guides - -[cols=1] -|=== -| Name -| link:#X-0d[`X<0>`] -| link:#X-00[`X<0>`] -| link:#X-0b[`X<0>`] -| link:#X-06[`X<0>`] -|=== - [#X-0e] == X @@ -36,6 +25,18 @@ template<int> struct X; ---- +=== Deduction Guides + +[cols=1] +|=== +| Name +| link:#X-00[`X<0>`] +| link:#X-06[`X<0>`] +| link:#X-0b[`X<0>`] +| link:#X-0d[`X<0>`] +|=== + + [#X-0d] == link:#X-0e[X<0>] diff --git a/test-files/golden-tests/symbols/guide/explicit-deduct-guide.html b/test-files/golden-tests/symbols/guide/explicit-deduct-guide.html index 27a414b292..8655ee16b6 100644 --- a/test-files/golden-tests/symbols/guide/explicit-deduct-guide.html +++ b/test-files/golden-tests/symbols/guide/explicit-deduct-guide.html @@ -25,23 +25,6 @@

-

-Deduction Guides

- - - - - - - - - - - - - -
Name
X<0>
X<0>
X<0>
X<0>
-
@@ -58,6 +41,25 @@

+
+

+Deduction Guides

+ + + + + + + + + + + + + +
Name
X<0>
X<0>
X<0>
X<0>
+ +
diff --git a/test-files/golden-tests/symbols/guide/explicit-deduct-guide.xml b/test-files/golden-tests/symbols/guide/explicit-deduct-guide.xml index d314a0d2a3..a344780554 100644 --- a/test-files/golden-tests/symbols/guide/explicit-deduct-guide.xml +++ b/test-files/golden-tests/symbols/guide/explicit-deduct-guide.xml @@ -49,6 +49,10 @@ + AtQyLakD3CjcM24GabAbHMNgVU4= + YS/v8XQ/9ShQ2spNAh5EY33PN7s= + tkYkUU6H8cbFpCU7yBuvBLkT6dg= + 2IF4pOfGcA57GQDlE3PJgs7yeUs= X diff --git a/test-files/golden-tests/symbols/record/class-template-array-spec.adoc b/test-files/golden-tests/symbols/record/class-template-array-spec.adoc index 697e57f602..3fffc456a8 100644 --- a/test-files/golden-tests/symbols/record/class-template-array-spec.adoc +++ b/test-files/golden-tests/symbols/record/class-template-array-spec.adoc @@ -11,8 +11,6 @@ | Name| Description | link:#A-000[`A`] | Issue #1172. -| link:#A-004[`A<T[N], void, void>`] -| |=== [#A-000] @@ -33,6 +31,15 @@ template< struct A; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-004[`A<T[N], void, void>`] +|=== + + [#A-004] == link:#A-000[A]<T[N], void, void> diff --git a/test-files/golden-tests/symbols/record/class-template-array-spec.html b/test-files/golden-tests/symbols/record/class-template-array-spec.html index af68085518..33431669c4 100644 --- a/test-files/golden-tests/symbols/record/class-template-array-spec.html +++ b/test-files/golden-tests/symbols/record/class-template-array-spec.html @@ -21,8 +21,7 @@

-A Issue #1172. -A<T[N], void, void> +A Issue #1172. @@ -48,6 +47,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
A<T[N], void, void>
+ +
diff --git a/test-files/golden-tests/symbols/record/class-template-array-spec.xml b/test-files/golden-tests/symbols/record/class-template-array-spec.xml index b4cb8e2219..c7a5ef3dd3 100644 --- a/test-files/golden-tests/symbols/record/class-template-array-spec.xml +++ b/test-files/golden-tests/symbols/record/class-template-array-spec.xml @@ -86,6 +86,7 @@ + BImCLyzY3azoxv/pd8PtoMYhX4k= A @@ -158,5 +159,6 @@ + 1 diff --git a/test-files/golden-tests/symbols/record/class-template-partial-spec.adoc b/test-files/golden-tests/symbols/record/class-template-partial-spec.adoc index 46ad3249d9..5fc5072a47 100644 --- a/test-files/golden-tests/symbols/record/class-template-partial-spec.adoc +++ b/test-files/golden-tests/symbols/record/class-template-partial-spec.adoc @@ -31,8 +31,6 @@ struct A; |=== | Name | link:#A-B-0a[`B`] -| link:#A-B-04[`B<T, long>`] -| link:#A-B-06[`B<U*, T>`] |=== [#A-B-0a] @@ -50,6 +48,16 @@ template< struct B; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-B-04[`B<T, long>`] +| link:#A-B-06[`B<U*, T>`] +|=== + + [#A-B-04] == link:#A[A]::link:#A-B-0a[B]<T, long> diff --git a/test-files/golden-tests/symbols/record/class-template-partial-spec.html b/test-files/golden-tests/symbols/record/class-template-partial-spec.html index eeabaa412f..651b0f3663 100644 --- a/test-files/golden-tests/symbols/record/class-template-partial-spec.html +++ b/test-files/golden-tests/symbols/record/class-template-partial-spec.html @@ -49,9 +49,7 @@

-B -B<T, long> -B<U*, T> +B @@ -75,6 +73,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
B<T, long>
B<U*, T>
+ +
diff --git a/test-files/golden-tests/symbols/record/class-template-partial-spec.xml b/test-files/golden-tests/symbols/record/class-template-partial-spec.xml index 25414be979..92c331bbc1 100644 --- a/test-files/golden-tests/symbols/record/class-template-partial-spec.xml +++ b/test-files/golden-tests/symbols/record/class-template-partial-spec.xml @@ -80,6 +80,8 @@ + RB9DBMAJDxjxuRQCinQOVPFSNek= + Y/lm1lkT88vf1Ml123mbuN6Fp2Y= B @@ -125,6 +127,7 @@ + 1 B @@ -177,5 +180,6 @@ + 1 diff --git a/test-files/golden-tests/symbols/record/class-template-spec.adoc b/test-files/golden-tests/symbols/record/class-template-spec.adoc index 756f954d0e..ed47ebfb2b 100644 --- a/test-files/golden-tests/symbols/record/class-template-spec.adoc +++ b/test-files/golden-tests/symbols/record/class-template-spec.adoc @@ -10,14 +10,8 @@ |=== | Name | link:#A-0e[`A`] -| link:#A-00[`A<int>`] -| link:#A-0c[`A<long>`] | link:#B-00[`B`] -| link:#B-06[`B<T&>`] -| link:#B-07[`B<T*>`] | link:#C-0f[`C`] -| link:#C-0a[`C<int, int>`] -| link:#C-0e[`C<T*, int>`] |=== [#A-0e] @@ -41,6 +35,16 @@ struct A; | link:#A-0e-f[`f`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-00[`A<int>`] +| link:#A-0c[`A<long>`] +|=== + + [#A-0e-f] == link:#A-0e[A]::f @@ -143,6 +147,16 @@ struct B; | link:#B-00-f[`f`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#B-06[`B<T&>`] +| link:#B-07[`B<T*>`] +|=== + + [#B-00-f] == link:#B-00[B]::f @@ -247,6 +261,16 @@ struct C; | link:#C-0f-f[`f`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#C-0a[`C<int, int>`] +| link:#C-0e[`C<T*, int>`] +|=== + + [#C-0f-f] == link:#C-0f[C]::f diff --git a/test-files/golden-tests/symbols/record/class-template-spec.html b/test-files/golden-tests/symbols/record/class-template-spec.html index e7486c02e7..353090e9a4 100644 --- a/test-files/golden-tests/symbols/record/class-template-spec.html +++ b/test-files/golden-tests/symbols/record/class-template-spec.html @@ -22,14 +22,8 @@

A -A<int> -A<long> B -B<T&> -B<T*> -C -C<int, int> -C<T*, int> +C @@ -63,6 +57,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
A<int>
A<long>
+ +

@@ -195,6 +206,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
B<T&>
B<T*>
+ +

@@ -329,6 +357,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
C<int, int>
C<T*, int>
+ +

diff --git a/test-files/golden-tests/symbols/record/class-template-spec.xml b/test-files/golden-tests/symbols/record/class-template-spec.xml index 538adeb9e5..a86eb98d87 100644 --- a/test-files/golden-tests/symbols/record/class-template-spec.xml +++ b/test-files/golden-tests/symbols/record/class-template-spec.xml @@ -50,6 +50,8 @@ + AKwlChAOi+0ttIAPsD7uitS+gk0= + y/8TvVlacBAIG2ds2aYgZE+zGUU= f @@ -110,6 +112,7 @@ + 1 g @@ -170,6 +173,7 @@ + 1 h @@ -225,6 +229,8 @@ + ZjUaxeOoGJ0Jol9Nmn7cGRE7RCo= + dydGCFMdrM4nOwuv3RCXqg2KCUA= f @@ -292,6 +298,7 @@ + 1 h @@ -359,6 +366,7 @@ + 1 g @@ -419,6 +427,8 @@ + qrcrkE8Br83XKNMh95Dvwpph/M8= + 6zS87fCNnLtFfHbRWEmcdeAT1Zg= f @@ -488,6 +498,7 @@ + 1 g @@ -564,6 +575,7 @@ + 1 h 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 c25cc38a45..966e152928 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 @@ -59,47 +59,6 @@ | link:#R8[`R8`] | link:#R9[`R9`] | link:#S0-0cf[`S0`] -| link:#S0-0be[`S0<0>`] -| link:#S0-087[`S0<10>`] -| link:#S0-0e[`S0<12>`] -| link:#S0-09e4[`S0<15>`] -| link:#S0-07a[`S0<18>`] -| link:#S0-0a7[`S0<19>`] -| link:#S0-09c[`S0<2>`] -| link:#S0-0314[`S0<21>`] -| link:#S0-058[`S0<23>`] -| link:#S0-0a2[`S0<25>`] -| link:#S0-09e2[`S0<27>`] -| link:#S0-073[`S0<3>`] -| link:#S0-01[`S0<30>`] -| link:#S0-09ee[`S0<33>`] -| link:#S0-033[`S0<36>`] -| link:#S0-06[`S0<39>`] -| link:#S0-0a1[`S0<4>`] -| link:#S0-0ba[`S0<43>`] -| link:#S0-07e[`S0<6>`] -| link:#S0-0a3[`S0<8>`] -| link:#S0-020a[`S0<1, int*>`] -| link:#S0-05a[`S0<10, bool>`] -| link:#S0-0cd[`S0<12, bool>`] -| link:#S0-000[`S0<15, bool>`] -| link:#S0-051[`S0<18, bool>`] -| link:#S0-002[`S0<19, bool>`] -| link:#S0-03c[`S0<2, bool>`] -| link:#S0-003[`S0<21, bool>`] -| link:#S0-0c7[`S0<23, bool>`] -| link:#S0-0529f[`S0<25, bool>`] -| link:#S0-007[`S0<27, bool>`] -| link:#S0-092[`S0<3, bool>`] -| link:#S0-021[`S0<30, bool>`] -| link:#S0-0318[`S0<33, bool>`] -| link:#S0-0d[`S0<36, bool>`] -| link:#S0-0206[`S0<39, bool>`] -| link:#S0-0b6[`S0<4, bool>`] -| link:#S0-05291[`S0<43, bool>`] -| link:#S0-023[`S0<6, bool>`] -| link:#S0-04[`S0<8, bool>`] -| link:#S0-0c4[`S0<1, T*>`] |=== [#R0] @@ -1408,6 +1367,55 @@ struct S0; | |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#S0-000[`S0<15, bool>`] +| link:#S0-002[`S0<19, bool>`] +| link:#S0-003[`S0<21, bool>`] +| link:#S0-007[`S0<27, bool>`] +| link:#S0-01[`S0<30>`] +| link:#S0-0206[`S0<39, bool>`] +| link:#S0-020a[`S0<1, int*>`] +| link:#S0-021[`S0<30, bool>`] +| link:#S0-023[`S0<6, bool>`] +| link:#S0-0314[`S0<21>`] +| link:#S0-0318[`S0<33, bool>`] +| link:#S0-033[`S0<36>`] +| link:#S0-03c[`S0<2, bool>`] +| link:#S0-04[`S0<8, bool>`] +| link:#S0-051[`S0<18, bool>`] +| link:#S0-05291[`S0<43, bool>`] +| link:#S0-0529f[`S0<25, bool>`] +| link:#S0-058[`S0<23>`] +| link:#S0-05a[`S0<10, bool>`] +| link:#S0-06[`S0<39>`] +| link:#S0-073[`S0<3>`] +| link:#S0-07a[`S0<18>`] +| link:#S0-07e[`S0<6>`] +| link:#S0-087[`S0<10>`] +| link:#S0-092[`S0<3, bool>`] +| link:#S0-09c[`S0<2>`] +| link:#S0-09e2[`S0<27>`] +| link:#S0-09e4[`S0<15>`] +| link:#S0-09ee[`S0<33>`] +| link:#S0-0a1[`S0<4>`] +| link:#S0-0a2[`S0<25>`] +| link:#S0-0a3[`S0<8>`] +| link:#S0-0a7[`S0<19>`] +| link:#S0-0b6[`S0<4, bool>`] +| link:#S0-0ba[`S0<43>`] +| link:#S0-0be[`S0<0>`] +| link:#S0-0c4[`S0<1, T*>`] +| link:#S0-0c7[`S0<23, bool>`] +| link:#S0-0cd[`S0<12, bool>`] +| link:#S0-0d[`S0<36, bool>`] +| link:#S0-0e[`S0<12>`] +|=== + + [#S0-0cf-S1] == link:#S0-0cf[S0]::S1 @@ -1468,6 +1476,25 @@ struct S2; | link:#S0-0cf-S1-S2-f2[`f2`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#S0-09e4-S1-S2-02[`S2<16>`] +| link:#S0-0e-S1-S2-02[`S2<13>`] +| link:#S0-000-S1-S2-03[`S2<16, bool>`] +| link:#S0-0cd-S1-S2-05[`S2<13, bool>`] +| link:#S0-07e-S1-S2-06[`S2<7, T*>`] +| link:#S0-07e-S1-S2-07[`S2<7, int*>`] +| link:#S0-087-S1-S2-08[`S2<11>`] +| link:#S0-04-S1-S2-0a[`S2<9, bool>`] +| link:#S0-05a-S1-S2-0b[`S2<11, bool>`] +| link:#S0-0a3-S1-S2-0c[`S2<9>`] +| link:#S0-0a1-S1-S2-0f[`S2<5>`] +|=== + + [#S0-0cf-S1-S2-S3] == link:#S0-0cf[S0]::link:#S0-0cf-S1[S1]::link:#S0-0cf-S1-S2[S2]::S3 @@ -1524,6 +1551,17 @@ struct S4; | link:#S0-0cf-S1-S2-S4-f4[`f4`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#S0-09e4-S1-S2-02-S4-02[`S4<17, int*>`] +| link:#S0-09e4-S1-S2-02-S4-07[`S4<17, T*>`] +| link:#S0-0e-S1-S2-02-S4-0c[`S4<14>`] +|=== + + [#S0-0cf-S1-S2-S4-f4] == link:#S0-0cf[S0]::link:#S0-0cf-S1[S1]::link:#S0-0cf-S1-S2[S2]::link:#S0-0cf-S1-S2-S4[S4]::f4 @@ -1594,6 +1632,33 @@ struct S5; | link:#S0-0cf-S5-f5[`f5`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#S0-09ee-S5-02[`S5<34>`] +| link:#S0-0a2-S5-02[`S5<26>`] +| link:#S0-0314-S5-03[`S5<22, int*>`] +| link:#S0-01-S5-04[`S5<31>`] +| link:#S0-0529f-S5-05c[`S5<26, bool>`] +| link:#S0-0a7-S5-07[`S5<20>`] +| link:#S0-06-S5-07[`S5<40>`] +| link:#S0-0206-S5-08[`S5<40, bool>`] +| link:#S0-0ba-S5-08[`S5<44>`] +| link:#S0-058-S5-09[`S5<24>`] +| link:#S0-021-S5-0b[`S5<31, bool>`] +| link:#S0-0d-S5-0b[`S5<37, bool>`] +| link:#S0-0318-S5-0b[`S5<34, bool>`] +| link:#S0-0314-S5-0b[`S5<22, T*>`] +| link:#S0-09e2-S5-0c[`S5<28>`] +| link:#S0-007-S5-0d[`S5<28, bool>`] +| link:#S0-05291-S5-0e[`S5<44, bool>`] +| link:#S0-033-S5-0f[`S5<37>`] +| link:#S0-0c7-S5-0f[`S5<24, bool>`] +|=== + + [#S0-0cf-S5-S6] == link:#S0-0cf[S0]::link:#S0-0cf-S5[S5]::S6 @@ -1654,6 +1719,25 @@ struct S7; | link:#S0-0cf-S5-S6-S7-f7[`f7`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#S0-0206-S5-08-S6-S7-01[`S7<41, bool>`] +| link:#S0-0ba-S5-08-S6-S7-02[`S7<45>`] +| link:#S0-09ee-S5-02-S6-S7-03[`S7<35>`] +| link:#S0-01-S5-04-S6-S7-05[`S7<32>`] +| link:#S0-0318-S5-0b-S6-S7-05[`S7<35, bool>`] +| link:#S0-09e2-S5-0c-S6-S7-0a[`S7<29, T*>`] +| link:#S0-06-S5-07-S6-S7-0a[`S7<41>`] +| link:#S0-0d-S5-0b-S6-S7-0d[`S7<38, bool>`] +| link:#S0-09e2-S5-0c-S6-S7-0d[`S7<29, int*>`] +| link:#S0-033-S5-0f-S6-S7-0d[`S7<38>`] +| link:#S0-05291-S5-0e-S6-S7-0f[`S7<45, bool>`] +|=== + + [#S0-0cf-S5-S6-S7-S8] == link:#S0-0cf[S0]::link:#S0-0cf-S5[S5]::link:#S0-0cf-S5-S6[S6]::link:#S0-0cf-S5-S6-S7[S7]::S8 @@ -1710,6 +1794,17 @@ struct S9; | link:#S0-0cf-S5-S6-S7-S9-f9[`f9`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#S0-06-S5-07-S6-S7-0a-S9-00[`S9<42, T*>`] +| link:#S0-06-S5-07-S6-S7-0a-S9-08[`S9<42, int*>`] +| link:#S0-0ba-S5-08-S6-S7-02-S9-0f[`S9<46>`] +|=== + + [#S0-0cf-S5-S6-S7-S9-f9] == link:#S0-0cf[S0]::link:#S0-0cf-S5[S5]::link:#S0-0cf-S5-S6[S6]::link:#S0-0cf-S5-S6-S7[S7]::link:#S0-0cf-S5-S6-S7-S9[S9]::f9 @@ -1846,7 +1941,6 @@ struct S1; |=== | Name | link:#S0-087-S1-S2-0b[`S2`] -| link:#S0-087-S1-S2-08[`S2<11>`] |=== === Member Functions @@ -2041,7 +2135,6 @@ struct S1; |=== | Name | link:#S0-0e-S1-S2-09[`S2`] -| link:#S0-0e-S1-S2-02[`S2<13>`] |=== === Member Functions @@ -2087,7 +2180,6 @@ struct link:#S0-0cf-S1-S2[S2]<13>; | Name | link:#S0-0e-S1-S2-02-S3[`S3`] | link:#S0-0e-S1-S2-02-S4-00[`S4`] -| link:#S0-0e-S1-S2-02-S4-0c[`S4<14>`] |=== === Member Functions @@ -2250,7 +2342,6 @@ struct S1; |=== | Name | link:#S0-09e4-S1-S2-07[`S2`] -| link:#S0-09e4-S1-S2-02[`S2<16>`] |=== === Member Functions @@ -2296,8 +2387,6 @@ struct link:#S0-0cf-S1-S2[S2]<16>; | Name | link:#S0-09e4-S1-S2-02-S3[`S3`] | link:#S0-09e4-S1-S2-02-S4-00[`S4`] -| link:#S0-09e4-S1-S2-02-S4-02[`S4<17, int*>`] -| link:#S0-09e4-S1-S2-02-S4-07[`S4<17, T*>`] |=== === Member Functions @@ -2535,7 +2624,6 @@ struct link:#S0-0cf[S0]<19>; | Name | link:#S0-0a7-S1[`S1`] | link:#S0-0a7-S5-03[`S5`] -| link:#S0-0a7-S5-07[`S5<20>`] |=== === Member Functions @@ -2709,8 +2797,6 @@ struct link:#S0-0cf[S0]<21>; | Name | link:#S0-0314-S1[`S1`] | link:#S0-0314-S5-07[`S5`] -| link:#S0-0314-S5-03[`S5<22, int*>`] -| link:#S0-0314-S5-0b[`S5<22, T*>`] |=== === Member Functions @@ -2827,7 +2913,6 @@ struct link:#S0-0cf[S0]<23>; | Name | link:#S0-058-S1[`S1`] | link:#S0-058-S5-0b[`S5`] -| link:#S0-058-S5-09[`S5<24>`] |=== === Member Functions @@ -2962,7 +3047,6 @@ struct link:#S0-0cf[S0]<25>; | Name | link:#S0-0a2-S1[`S1`] | link:#S0-0a2-S5-04[`S5`] -| link:#S0-0a2-S5-02[`S5<26>`] |=== === Member Functions @@ -3141,7 +3225,6 @@ struct link:#S0-0cf[S0]<27>; | Name | link:#S0-09e2-S1[`S1`] | link:#S0-09e2-S5-0b[`S5`] -| link:#S0-09e2-S5-0c[`S5<28>`] |=== === Member Functions @@ -3226,8 +3309,6 @@ struct S6; |=== | Name | link:#S0-09e2-S5-0c-S6-S7-0b[`S7`] -| link:#S0-09e2-S5-0c-S6-S7-0d[`S7<29, int*>`] -| link:#S0-09e2-S5-0c-S6-S7-0a[`S7<29, T*>`] |=== === Member Functions @@ -3482,7 +3563,6 @@ struct link:#S0-0cf[S0]<30>; | Name | link:#S0-01-S1[`S1`] | link:#S0-01-S5-07[`S5`] -| link:#S0-01-S5-04[`S5<31>`] |=== === Member Functions @@ -3567,7 +3647,6 @@ struct S6; |=== | Name | link:#S0-01-S5-04-S6-S7-0c[`S7`] -| link:#S0-01-S5-04-S6-S7-05[`S7<32>`] |=== === Member Functions @@ -3675,7 +3754,6 @@ struct link:#S0-0cf[S0]<33>; | Name | link:#S0-09ee-S1[`S1`] | link:#S0-09ee-S5-0b[`S5`] -| link:#S0-09ee-S5-02[`S5<34>`] |=== === Member Functions @@ -3760,7 +3838,6 @@ struct S6; |=== | Name | link:#S0-09ee-S5-02-S6-S7-09[`S7`] -| link:#S0-09ee-S5-02-S6-S7-03[`S7<35>`] |=== === Member Functions @@ -3925,7 +4002,6 @@ struct link:#S0-0cf[S0]<36>; | Name | link:#S0-033-S1[`S1`] | link:#S0-033-S5-03[`S5`] -| link:#S0-033-S5-0f[`S5<37>`] |=== === Member Functions @@ -4010,7 +4086,6 @@ struct S6; |=== | Name | link:#S0-033-S5-0f-S6-S7-05[`S7`] -| link:#S0-033-S5-0f-S6-S7-0d[`S7<38>`] |=== === Member Functions @@ -4175,7 +4250,6 @@ struct link:#S0-0cf[S0]<39>; | Name | link:#S0-06-S1[`S1`] | link:#S0-06-S5-03[`S5`] -| link:#S0-06-S5-07[`S5<40>`] |=== === Member Functions @@ -4260,7 +4334,6 @@ struct S6; |=== | Name | link:#S0-06-S5-07-S6-S7-08[`S7`] -| link:#S0-06-S5-07-S6-S7-0a[`S7<41>`] |=== === Member Functions @@ -4306,8 +4379,6 @@ struct link:#S0-0cf-S5-S6-S7[S7]<41>; | Name | link:#S0-06-S5-07-S6-S7-0a-S8[`S8`] | link:#S0-06-S5-07-S6-S7-0a-S9-05[`S9`] -| link:#S0-06-S5-07-S6-S7-0a-S9-08[`S9<42, int*>`] -| link:#S0-06-S5-07-S6-S7-0a-S9-00[`S9<42, T*>`] |=== === Member Functions @@ -4491,7 +4562,6 @@ struct S1; |=== | Name | link:#S0-0a1-S1-S2-00[`S2`] -| link:#S0-0a1-S1-S2-0f[`S2<5>`] |=== === Member Functions @@ -4601,7 +4671,6 @@ struct link:#S0-0cf[S0]<43>; | Name | link:#S0-0ba-S1[`S1`] | link:#S0-0ba-S5-0f[`S5`] -| link:#S0-0ba-S5-08[`S5<44>`] |=== === Member Functions @@ -4686,7 +4755,6 @@ struct S6; |=== | Name | link:#S0-0ba-S5-08-S6-S7-04[`S7`] -| link:#S0-0ba-S5-08-S6-S7-02[`S7<45>`] |=== === Member Functions @@ -4732,7 +4800,6 @@ struct link:#S0-0cf-S5-S6-S7[S7]<45>; | Name | link:#S0-0ba-S5-08-S6-S7-02-S8[`S8`] | link:#S0-0ba-S5-08-S6-S7-02-S9-0b[`S9`] -| link:#S0-0ba-S5-08-S6-S7-02-S9-0f[`S9<46>`] |=== === Member Functions @@ -4893,8 +4960,6 @@ struct S1; |=== | Name | link:#S0-07e-S1-S2-04[`S2`] -| link:#S0-07e-S1-S2-07[`S2<7, int*>`] -| link:#S0-07e-S1-S2-06[`S2<7, T*>`] |=== === Member Functions @@ -5055,7 +5120,6 @@ struct S1; |=== | Name | link:#S0-0a3-S1-S2-0b[`S2`] -| link:#S0-0a3-S1-S2-0c[`S2<9>`] |=== === Member Functions @@ -5273,7 +5337,6 @@ struct S1; |=== | Name | link:#S0-05a-S1-S2-07[`S2`] -| link:#S0-05a-S1-S2-0b[`S2<11, bool>`] |=== === Member Functions @@ -5468,7 +5531,6 @@ struct S1; |=== | Name | link:#S0-0cd-S1-S2-0e[`S2`] -| link:#S0-0cd-S1-S2-05[`S2<13, bool>`] |=== === Member Functions @@ -5663,7 +5725,6 @@ struct S1; |=== | Name | link:#S0-000-S1-S2-08[`S2`] -| link:#S0-000-S1-S2-03[`S2<16, bool>`] |=== === Member Functions @@ -6194,7 +6255,6 @@ struct link:#S0-0cf[S0]<23, bool>; | Name | link:#S0-0c7-S1[`S1`] | link:#S0-0c7-S5-03[`S5`] -| link:#S0-0c7-S5-0f[`S5<24, bool>`] |=== === Member Functions @@ -6373,7 +6433,6 @@ struct link:#S0-0cf[S0]<25, bool>; | Name | link:#S0-0529f-S1[`S1`] | link:#S0-0529f-S5-051[`S5`] -| link:#S0-0529f-S5-05c[`S5<26, bool>`] |=== === Member Functions @@ -6552,7 +6611,6 @@ struct link:#S0-0cf[S0]<27, bool>; | Name | link:#S0-007-S1[`S1`] | link:#S0-007-S5-0f[`S5`] -| link:#S0-007-S5-0d[`S5<28, bool>`] |=== === Member Functions @@ -6855,7 +6913,6 @@ struct link:#S0-0cf[S0]<30, bool>; | Name | link:#S0-021-S1[`S1`] | link:#S0-021-S5-06[`S5`] -| link:#S0-021-S5-0b[`S5<31, bool>`] |=== === Member Functions @@ -7034,7 +7091,6 @@ struct link:#S0-0cf[S0]<33, bool>; | Name | link:#S0-0318-S1[`S1`] | link:#S0-0318-S5-0f[`S5`] -| link:#S0-0318-S5-0b[`S5<34, bool>`] |=== === Member Functions @@ -7119,7 +7175,6 @@ struct S6; |=== | Name | link:#S0-0318-S5-0b-S6-S7-04[`S7`] -| link:#S0-0318-S5-0b-S6-S7-05[`S7<35, bool>`] |=== === Member Functions @@ -7305,7 +7360,6 @@ struct link:#S0-0cf[S0]<36, bool>; | Name | link:#S0-0d-S1[`S1`] | link:#S0-0d-S5-09[`S5`] -| link:#S0-0d-S5-0b[`S5<37, bool>`] |=== === Member Functions @@ -7390,7 +7444,6 @@ struct S6; |=== | Name | link:#S0-0d-S5-0b-S6-S7-08[`S7`] -| link:#S0-0d-S5-0b-S6-S7-0d[`S7<38, bool>`] |=== === Member Functions @@ -7555,7 +7608,6 @@ struct link:#S0-0cf[S0]<39, bool>; | Name | link:#S0-0206-S1[`S1`] | link:#S0-0206-S5-06[`S5`] -| link:#S0-0206-S5-08[`S5<40, bool>`] |=== === Member Functions @@ -7640,7 +7692,6 @@ struct S6; |=== | Name | link:#S0-0206-S5-08-S6-S7-06[`S7`] -| link:#S0-0206-S5-08-S6-S7-01[`S7<41, bool>`] |=== === Member Functions @@ -7929,7 +7980,6 @@ struct link:#S0-0cf[S0]<43, bool>; | Name | link:#S0-05291-S1[`S1`] | link:#S0-05291-S5-02[`S5`] -| link:#S0-05291-S5-0e[`S5<44, bool>`] |=== === Member Functions @@ -8014,7 +8064,6 @@ struct S6; |=== | Name | link:#S0-05291-S5-0e-S6-S7-04[`S7`] -| link:#S0-05291-S5-0e-S6-S7-0f[`S7<45, bool>`] |=== === Member Functions @@ -8331,7 +8380,6 @@ struct S1; |=== | Name | link:#S0-04-S1-S2-0e[`S2`] -| link:#S0-04-S1-S2-0a[`S2<9, bool>`] |=== === Member Functions 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 bf48da4578..19d3372ff5 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 @@ -70,48 +70,7 @@

R7 R8 R9 -S0 -S0<0> -S0<10> -S0<12> -S0<15> -S0<18> -S0<19> -S0<2> -S0<21> -S0<23> -S0<25> -S0<27> -S0<3> -S0<30> -S0<33> -S0<36> -S0<39> -S0<4> -S0<43> -S0<6> -S0<8> -S0<1, int*> -S0<10, bool> -S0<12, bool> -S0<15, bool> -S0<18, bool> -S0<19, bool> -S0<2, bool> -S0<21, bool> -S0<23, bool> -S0<25, bool> -S0<27, bool> -S0<3, bool> -S0<30, bool> -S0<33, bool> -S0<36, bool> -S0<39, bool> -S0<4, bool> -S0<43, bool> -S0<6, bool> -S0<8, bool> -S0<1, T*> +S0 @@ -1917,6 +1876,62 @@

+

+
@@ -2008,6 +2023,32 @@

+
+

+Specializations

+ + + + + + + + + + + + + + + + + + + + +
Name
S2<16>
S2<13>
S2<16, bool>
S2<13, bool>
S2<7, T*>
S2<7, int*>
S2<11>
S2<9, bool>
S2<11, bool>
S2<9>
S2<5>
+ +

@@ -2083,6 +2124,24 @@

+
+

+Specializations

+ + + + + + + + + + + + +
Name
S4<17, int*>
S4<17, T*>
S4<14>
+ +

@@ -2171,6 +2230,40 @@

+

@@ -2261,6 +2354,32 @@

+
+

+Specializations

+ + + + + + + + + + + + + + + + + + + + +
Name
S7<41, bool>
S7<45>
S7<35>
S7<32>
S7<35, bool>
S7<29, T*>
S7<41>
S7<38, bool>
S7<29, int*>
S7<38>
S7<45, bool>
+ +

@@ -2336,6 +2455,24 @@

+
+

+Specializations

+ + + + + + + + + + + + +
Name
S9<42, T*>
S9<42, int*>
S9<46>
+ +

@@ -2506,8 +2643,7 @@

-S2 -S2<11> +S2 @@ -2767,8 +2903,7 @@

-S2 -S2<13> +S2 @@ -2831,8 +2966,7 @@

S3 -S4 -S4<14> +S4 @@ -3045,8 +3179,7 @@

-S2 -S2<16> +S2 @@ -3109,9 +3242,7 @@

S3 -S4 -S4<17, int*> -S4<17, T*> +S4 @@ -3421,8 +3552,7 @@

S1 -S5 -S5<20> +S5 @@ -3654,9 +3784,7 @@

S1 -S5 -S5<22, int*> -S5<22, T*> +S5 @@ -3812,8 +3940,7 @@

S1 -S5 -S5<24> +S5 @@ -3994,8 +4121,7 @@

S1 -S5 -S5<26> +S5 @@ -4236,8 +4362,7 @@

S1 -S5 -S5<28> +S5 @@ -4357,9 +4482,7 @@

-S7 -S7<29, int*> -S7<29, T*> +S7 @@ -4696,8 +4819,7 @@

S1 -S5 -S5<31> +S5 @@ -4817,8 +4939,7 @@

-S7 -S7<32> +S7 @@ -4955,8 +5076,7 @@

S1 -S5 -S5<34> +S5 @@ -5076,8 +5196,7 @@

-S7 -S7<35> +S7 @@ -5290,8 +5409,7 @@

S1 -S5 -S5<37> +S5 @@ -5411,8 +5529,7 @@

-S7 -S7<38> +S7 @@ -5625,8 +5742,7 @@

S1 -S5 -S5<40> +S5 @@ -5746,8 +5862,7 @@

-S7 -S7<41> +S7 @@ -5810,9 +5925,7 @@

S8 -S9 -S9<42, int*> -S9<42, T*> +S9 @@ -6053,8 +6166,7 @@

-S2 -S2<5> +S2 @@ -6195,8 +6307,7 @@

S1 -S5 -S5<44> +S5 @@ -6316,8 +6427,7 @@

-S7 -S7<45> +S7 @@ -6380,8 +6490,7 @@

S8 -S9 -S9<46> +S9 @@ -6590,9 +6699,7 @@

-S2 -S2<7, int*> -S2<7, T*> +S2 @@ -6808,8 +6915,7 @@

-S2 -S2<9> +S2 @@ -7101,8 +7207,7 @@

-S2 -S2<11, bool> +S2 @@ -7362,8 +7467,7 @@

-S2 -S2<13, bool> +S2 @@ -7623,8 +7727,7 @@

-S2 -S2<16, bool> +S2 @@ -8333,8 +8436,7 @@

S1 -S5 -S5<24, bool> +S5 @@ -8575,8 +8677,7 @@

S1 -S5 -S5<26, bool> +S5 @@ -8817,8 +8918,7 @@

S1 -S5 -S5<28, bool> +S5 @@ -9227,8 +9327,7 @@

S1 -S5 -S5<31, bool> +S5 @@ -9469,8 +9568,7 @@

S1 -S5 -S5<34, bool> +S5 @@ -9590,8 +9688,7 @@

-S7 -S7<35, bool> +S7 @@ -9832,8 +9929,7 @@

S1 -S5 -S5<37, bool> +S5 @@ -9953,8 +10049,7 @@

-S7 -S7<38, bool> +S7 @@ -10167,8 +10262,7 @@

S1 -S5 -S5<40, bool> +S5 @@ -10288,8 +10382,7 @@

-S7 -S7<41, bool> +S7 @@ -10670,8 +10763,7 @@

S1 -S5 -S5<44, bool> +S5 @@ -10791,8 +10883,7 @@

-S7 -S7<45, bool> +S7 @@ -11216,8 +11307,7 @@

-S2 -S2<9, bool> +S2 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 4a12a0927b..1aa58dc093 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 @@ -219,6 +219,17 @@ + JnRKKJOV9sM2/Wi7ytI5OenLTcs= + Lu2i8tgrw9I5p6DXmX9LfM8mVSo= + OsUzyKi8NDCZFI1r1y4+Ki/4H0s= + Xes4IqvFnQoGkxPlP4C4wtbjqxQ= + ZyL4aBHmvCmfq+HyxDSySKwRsdA= + eWg27/kfn86dUmPA26mcOo6kkfs= + g2iVCce1Dp6iPMyevfuMN/UU9F0= + p3PhPnVydwdupHBMAXlcrNQuiFo= + tcws+2wcXL0FEmvv7ZVXvxSkAaI= + zpDyI51RjdguXF8/9KXFrICQwEc= + 8snJ9gp5ca88/AsWGEnFe6Ln6RQ= S3 @@ -318,6 +329,9 @@ + J3UZDljdSJ1mGU9Js0JpA3TjVtc= + cV4O7e/J4xug1ZmsOQKwDVjE99M= + yPCRvP9B34hMThomBKlaCzkFM54= f4 @@ -439,6 +453,25 @@ + IhITMrVguwgsTFnxWSalhrn5lnw= + I29LgIfKHs2KVKydoPZ2XncISyM= + NnzxSBCBz0/s6OkCTTL/yDO06Go= + RFQpd+7V+unGQTgk13maA1YEoyY= + XLAZYk894KbFFFIzJpR6c2Fi870= + dO93MwJZmA5Fpzul37ZMH6F1ong= + fpqbvQR9NuaJY4fq9LHbiAsZKzw= + hpAmCOpzad0YvzIs/nrK1blINCo= + j53XjxydcG+wI0iK3mM8/acK5rY= + lmGGu3RmJh5DZfXs5nd811FPf14= + s40Z8yfzcJnCZSeYYV5sYlFzOxs= + tZqwapq24sWOnWsHAcGXH/3yX3Y= + uE1JLlP4kj18/7anYGDOOUyNK5M= + umZ8gPZZ+qTWuYY3zYO/hx1XCGI= + wpJv75dxyLgHOdHJsb50f1IIDVc= + 1ro4Sv8wGUNxysGIgXgcl9hcP68= + 51FuSsXmA0w505ZBRVkx0q/lmUk= + +J66oroZ92MSPf/1vk3672IXQRM= + +YuAVlOefcnfZIU1wckNM7lfNaA= S6 @@ -518,6 +551,17 @@ + GJK8oH0tb+kOcrLsJD4KLPgW01k= + J7tgsUhd+qpsq/85qkEgF1l14uk= + NkmHmT5oAR5xJObAVl4zdPrTJPk= + VxqDdgdkcw8E86ZiNolpXLlhyWs= + V/H0waQNmYhkbcgX6kBFOODNK64= + pbmVOgtPeZtTL7BQG/AM7NVsNdo= + r7aMtw1PqhcjWuGFP7pwiW2v0ks= + 1YtqF4WYT0uK7amUiCmJVk03Oog= + 3eTbiMMR3GPY7/xRty3EmJ9bdQU= + 3jBuzbuFB0fvpQa1ETvIXevGH2w= + 9PQcUNZCJePNJhT5t0prZNV/lHk= S8 @@ -617,6 +661,9 @@ + CvFJnK9Xu7B2Fbh91NqM0+gKVEU= + hwfbdkFRNunC/3V+s6HA5BwWiSQ= + 8PQtbs9xGpu1L+b0VOqfLlE6TnY= f9 @@ -1315,6 +1362,17 @@ + JnRKKJOV9sM2/Wi7ytI5OenLTcs= + Lu2i8tgrw9I5p6DXmX9LfM8mVSo= + OsUzyKi8NDCZFI1r1y4+Ki/4H0s= + Xes4IqvFnQoGkxPlP4C4wtbjqxQ= + ZyL4aBHmvCmfq+HyxDSySKwRsdA= + eWg27/kfn86dUmPA26mcOo6kkfs= + g2iVCce1Dp6iPMyevfuMN/UU9F0= + p3PhPnVydwdupHBMAXlcrNQuiFo= + tcws+2wcXL0FEmvv7ZVXvxSkAaI= + zpDyI51RjdguXF8/9KXFrICQwEc= + 8snJ9gp5ca88/AsWGEnFe6Ln6RQ= S3 @@ -1414,6 +1472,9 @@ + J3UZDljdSJ1mGU9Js0JpA3TjVtc= + cV4O7e/J4xug1ZmsOQKwDVjE99M= + yPCRvP9B34hMThomBKlaCzkFM54= f4 @@ -1535,6 +1596,25 @@ + IhITMrVguwgsTFnxWSalhrn5lnw= + I29LgIfKHs2KVKydoPZ2XncISyM= + NnzxSBCBz0/s6OkCTTL/yDO06Go= + RFQpd+7V+unGQTgk13maA1YEoyY= + XLAZYk894KbFFFIzJpR6c2Fi870= + dO93MwJZmA5Fpzul37ZMH6F1ong= + fpqbvQR9NuaJY4fq9LHbiAsZKzw= + hpAmCOpzad0YvzIs/nrK1blINCo= + j53XjxydcG+wI0iK3mM8/acK5rY= + lmGGu3RmJh5DZfXs5nd811FPf14= + s40Z8yfzcJnCZSeYYV5sYlFzOxs= + tZqwapq24sWOnWsHAcGXH/3yX3Y= + uE1JLlP4kj18/7anYGDOOUyNK5M= + umZ8gPZZ+qTWuYY3zYO/hx1XCGI= + wpJv75dxyLgHOdHJsb50f1IIDVc= + 1ro4Sv8wGUNxysGIgXgcl9hcP68= + 51FuSsXmA0w505ZBRVkx0q/lmUk= + +J66oroZ92MSPf/1vk3672IXQRM= + +YuAVlOefcnfZIU1wckNM7lfNaA= S6 @@ -1614,6 +1694,17 @@ + GJK8oH0tb+kOcrLsJD4KLPgW01k= + J7tgsUhd+qpsq/85qkEgF1l14uk= + NkmHmT5oAR5xJObAVl4zdPrTJPk= + VxqDdgdkcw8E86ZiNolpXLlhyWs= + V/H0waQNmYhkbcgX6kBFOODNK64= + pbmVOgtPeZtTL7BQG/AM7NVsNdo= + r7aMtw1PqhcjWuGFP7pwiW2v0ks= + 1YtqF4WYT0uK7amUiCmJVk03Oog= + 3eTbiMMR3GPY7/xRty3EmJ9bdQU= + 3jBuzbuFB0fvpQa1ETvIXevGH2w= + 9PQcUNZCJePNJhT5t0prZNV/lHk= S8 @@ -1713,6 +1804,9 @@ + CvFJnK9Xu7B2Fbh91NqM0+gKVEU= + hwfbdkFRNunC/3V+s6HA5BwWiSQ= + 8PQtbs9xGpu1L+b0VOqfLlE6TnY= f9 @@ -2352,6 +2446,17 @@ + JnRKKJOV9sM2/Wi7ytI5OenLTcs= + Lu2i8tgrw9I5p6DXmX9LfM8mVSo= + OsUzyKi8NDCZFI1r1y4+Ki/4H0s= + Xes4IqvFnQoGkxPlP4C4wtbjqxQ= + ZyL4aBHmvCmfq+HyxDSySKwRsdA= + eWg27/kfn86dUmPA26mcOo6kkfs= + g2iVCce1Dp6iPMyevfuMN/UU9F0= + p3PhPnVydwdupHBMAXlcrNQuiFo= + tcws+2wcXL0FEmvv7ZVXvxSkAaI= + zpDyI51RjdguXF8/9KXFrICQwEc= + 8snJ9gp5ca88/AsWGEnFe6Ln6RQ= S3 @@ -2451,6 +2556,9 @@ + J3UZDljdSJ1mGU9Js0JpA3TjVtc= + cV4O7e/J4xug1ZmsOQKwDVjE99M= + yPCRvP9B34hMThomBKlaCzkFM54= f4 @@ -2572,6 +2680,25 @@ + IhITMrVguwgsTFnxWSalhrn5lnw= + I29LgIfKHs2KVKydoPZ2XncISyM= + NnzxSBCBz0/s6OkCTTL/yDO06Go= + RFQpd+7V+unGQTgk13maA1YEoyY= + XLAZYk894KbFFFIzJpR6c2Fi870= + dO93MwJZmA5Fpzul37ZMH6F1ong= + fpqbvQR9NuaJY4fq9LHbiAsZKzw= + hpAmCOpzad0YvzIs/nrK1blINCo= + j53XjxydcG+wI0iK3mM8/acK5rY= + lmGGu3RmJh5DZfXs5nd811FPf14= + s40Z8yfzcJnCZSeYYV5sYlFzOxs= + tZqwapq24sWOnWsHAcGXH/3yX3Y= + uE1JLlP4kj18/7anYGDOOUyNK5M= + umZ8gPZZ+qTWuYY3zYO/hx1XCGI= + wpJv75dxyLgHOdHJsb50f1IIDVc= + 1ro4Sv8wGUNxysGIgXgcl9hcP68= + 51FuSsXmA0w505ZBRVkx0q/lmUk= + +J66oroZ92MSPf/1vk3672IXQRM= + +YuAVlOefcnfZIU1wckNM7lfNaA= S6 @@ -2651,6 +2778,17 @@ + GJK8oH0tb+kOcrLsJD4KLPgW01k= + J7tgsUhd+qpsq/85qkEgF1l14uk= + NkmHmT5oAR5xJObAVl4zdPrTJPk= + VxqDdgdkcw8E86ZiNolpXLlhyWs= + V/H0waQNmYhkbcgX6kBFOODNK64= + pbmVOgtPeZtTL7BQG/AM7NVsNdo= + r7aMtw1PqhcjWuGFP7pwiW2v0ks= + 1YtqF4WYT0uK7amUiCmJVk03Oog= + 3eTbiMMR3GPY7/xRty3EmJ9bdQU= + 3jBuzbuFB0fvpQa1ETvIXevGH2w= + 9PQcUNZCJePNJhT5t0prZNV/lHk= S8 @@ -2750,6 +2888,9 @@ + CvFJnK9Xu7B2Fbh91NqM0+gKVEU= + hwfbdkFRNunC/3V+s6HA5BwWiSQ= + 8PQtbs9xGpu1L+b0VOqfLlE6TnY= f9 @@ -2980,6 +3121,17 @@ + JnRKKJOV9sM2/Wi7ytI5OenLTcs= + Lu2i8tgrw9I5p6DXmX9LfM8mVSo= + OsUzyKi8NDCZFI1r1y4+Ki/4H0s= + Xes4IqvFnQoGkxPlP4C4wtbjqxQ= + ZyL4aBHmvCmfq+HyxDSySKwRsdA= + eWg27/kfn86dUmPA26mcOo6kkfs= + g2iVCce1Dp6iPMyevfuMN/UU9F0= + p3PhPnVydwdupHBMAXlcrNQuiFo= + tcws+2wcXL0FEmvv7ZVXvxSkAaI= + zpDyI51RjdguXF8/9KXFrICQwEc= + 8snJ9gp5ca88/AsWGEnFe6Ln6RQ= S3 @@ -3079,6 +3231,9 @@ + J3UZDljdSJ1mGU9Js0JpA3TjVtc= + cV4O7e/J4xug1ZmsOQKwDVjE99M= + yPCRvP9B34hMThomBKlaCzkFM54= f4 @@ -3200,6 +3355,25 @@ + IhITMrVguwgsTFnxWSalhrn5lnw= + I29LgIfKHs2KVKydoPZ2XncISyM= + NnzxSBCBz0/s6OkCTTL/yDO06Go= + RFQpd+7V+unGQTgk13maA1YEoyY= + XLAZYk894KbFFFIzJpR6c2Fi870= + dO93MwJZmA5Fpzul37ZMH6F1ong= + fpqbvQR9NuaJY4fq9LHbiAsZKzw= + hpAmCOpzad0YvzIs/nrK1blINCo= + j53XjxydcG+wI0iK3mM8/acK5rY= + lmGGu3RmJh5DZfXs5nd811FPf14= + s40Z8yfzcJnCZSeYYV5sYlFzOxs= + tZqwapq24sWOnWsHAcGXH/3yX3Y= + uE1JLlP4kj18/7anYGDOOUyNK5M= + umZ8gPZZ+qTWuYY3zYO/hx1XCGI= + wpJv75dxyLgHOdHJsb50f1IIDVc= + 1ro4Sv8wGUNxysGIgXgcl9hcP68= + 51FuSsXmA0w505ZBRVkx0q/lmUk= + +J66oroZ92MSPf/1vk3672IXQRM= + +YuAVlOefcnfZIU1wckNM7lfNaA= S6 @@ -3279,6 +3453,17 @@ + GJK8oH0tb+kOcrLsJD4KLPgW01k= + J7tgsUhd+qpsq/85qkEgF1l14uk= + NkmHmT5oAR5xJObAVl4zdPrTJPk= + VxqDdgdkcw8E86ZiNolpXLlhyWs= + V/H0waQNmYhkbcgX6kBFOODNK64= + pbmVOgtPeZtTL7BQG/AM7NVsNdo= + r7aMtw1PqhcjWuGFP7pwiW2v0ks= + 1YtqF4WYT0uK7amUiCmJVk03Oog= + 3eTbiMMR3GPY7/xRty3EmJ9bdQU= + 3jBuzbuFB0fvpQa1ETvIXevGH2w= + 9PQcUNZCJePNJhT5t0prZNV/lHk= S8 @@ -3378,6 +3563,9 @@ + CvFJnK9Xu7B2Fbh91NqM0+gKVEU= + hwfbdkFRNunC/3V+s6HA5BwWiSQ= + 8PQtbs9xGpu1L+b0VOqfLlE6TnY= f9 @@ -4996,6 +5184,47 @@ + ANhUz0/2S6fRsXsZFhXPTPyPfAE= + AhWlDEmWhkTeQuWWCaZwMGCG5HQ= + A9DWlv0rbuFs3A9eHqZTaJDN7Uk= + ByHV/GlyHOt9h6ZVKpsDi/DkBkM= + FREf1tucqdONQ71W3hB/Sf/Fbw4= + IG7byGfx+stnhACpeGR2toLyv7U= + IKgocAXkFMvNmDD+p5dZpSBSRHI= + IbslzK4eUJj1gUsgbS4h/0Axavg= + IxCiCl8tf7r2/CmQWZiWxFHf7+g= + MUilGFE5YvyMgRjHIcQZ38yyl2c= + MYFk6ANWkex8j7vBuMpAqchgYIY= + MyTy/GXkOXKOTiJVqHAVVvaU4es= + PA+4gdvi0ChhszyGuOL6zlYXHpk= + Rh5ZoB5qF98iwmDPqUPnsyKkTcs= + UUBd87/k0jse5896L03eJ4N0l+c= + UpHebkkBv0Q2s1ECAoKTf79hJ0Q= + Up/SfnuYTQw+Y6klSO3f5z86DOY= + WK6dfZ+3VdrJbp4Egq7SCGyoAF8= + Wu710hbNOx84LbfjQUEgqKkZ2dA= + a69mw641E3cHVf6ovpLtJxTpmps= + c7NNZfjOZ8Ztuw0u26xL/h7UKvA= + eiJusMAs3cvoF4DWqUBlAfXzYcA= + flxREiXFL5ObY0xUAxojj+jvR54= + hwWIBHTi29w+6bJar0PyQvwnZWw= + kn1OyT1FzAvXXJMp4nKleaEX+5c= + nJGs54s6oYf7fHzIpo0tyaCSH9M= + niyoFejCRrpY1Aa9GHwGMnaDfsQ= + nkoZM9sg9xpibNb1eDSyhqn/Ato= + nuqq8wSa/4T9E2xaPl/SzBPbekM= + oXfsqUlMzPbEZZJ7K+iZYQj3wko= + oj8XjM2vuWbeoc2sBpfsIoleCao= + o06yQpJHyCkZyFI44/nN8/tpgT8= + pxo3Lx5X+FdLdaGOmXmAiuNVQME= + tuaR3CreZXFWLNOiRe6vUMcdi/0= + uoCdOuqB1v1s6rvl4wDWcLrD4LA= + vt6SAnqggizkWUqtSC5b9rVm+Qw= + xONzwxGiMBJrTYA5eosi4pOC0n0= + x7MfNbWaSdnUCRBlHt+nSvOlEPw= + zYIKjNzi/kYNKvtrTXu8BhQTFt8= + 1gjCMmREpyWTXEFMqDWbHTY9s+Q= + 7v/tytUkZe7COeYW1bbrzC9LRio= S1 @@ -5075,6 +5304,17 @@ + JnRKKJOV9sM2/Wi7ytI5OenLTcs= + Lu2i8tgrw9I5p6DXmX9LfM8mVSo= + OsUzyKi8NDCZFI1r1y4+Ki/4H0s= + Xes4IqvFnQoGkxPlP4C4wtbjqxQ= + ZyL4aBHmvCmfq+HyxDSySKwRsdA= + eWg27/kfn86dUmPA26mcOo6kkfs= + g2iVCce1Dp6iPMyevfuMN/UU9F0= + p3PhPnVydwdupHBMAXlcrNQuiFo= + tcws+2wcXL0FEmvv7ZVXvxSkAaI= + zpDyI51RjdguXF8/9KXFrICQwEc= + 8snJ9gp5ca88/AsWGEnFe6Ln6RQ= S3 @@ -5174,6 +5414,9 @@ + J3UZDljdSJ1mGU9Js0JpA3TjVtc= + cV4O7e/J4xug1ZmsOQKwDVjE99M= + yPCRvP9B34hMThomBKlaCzkFM54= f4 @@ -5295,6 +5538,25 @@ + IhITMrVguwgsTFnxWSalhrn5lnw= + I29LgIfKHs2KVKydoPZ2XncISyM= + NnzxSBCBz0/s6OkCTTL/yDO06Go= + RFQpd+7V+unGQTgk13maA1YEoyY= + XLAZYk894KbFFFIzJpR6c2Fi870= + dO93MwJZmA5Fpzul37ZMH6F1ong= + fpqbvQR9NuaJY4fq9LHbiAsZKzw= + hpAmCOpzad0YvzIs/nrK1blINCo= + j53XjxydcG+wI0iK3mM8/acK5rY= + lmGGu3RmJh5DZfXs5nd811FPf14= + s40Z8yfzcJnCZSeYYV5sYlFzOxs= + tZqwapq24sWOnWsHAcGXH/3yX3Y= + uE1JLlP4kj18/7anYGDOOUyNK5M= + umZ8gPZZ+qTWuYY3zYO/hx1XCGI= + wpJv75dxyLgHOdHJsb50f1IIDVc= + 1ro4Sv8wGUNxysGIgXgcl9hcP68= + 51FuSsXmA0w505ZBRVkx0q/lmUk= + +J66oroZ92MSPf/1vk3672IXQRM= + +YuAVlOefcnfZIU1wckNM7lfNaA= S6 @@ -5374,6 +5636,17 @@ + GJK8oH0tb+kOcrLsJD4KLPgW01k= + J7tgsUhd+qpsq/85qkEgF1l14uk= + NkmHmT5oAR5xJObAVl4zdPrTJPk= + VxqDdgdkcw8E86ZiNolpXLlhyWs= + V/H0waQNmYhkbcgX6kBFOODNK64= + pbmVOgtPeZtTL7BQG/AM7NVsNdo= + r7aMtw1PqhcjWuGFP7pwiW2v0ks= + 1YtqF4WYT0uK7amUiCmJVk03Oog= + 3eTbiMMR3GPY7/xRty3EmJ9bdQU= + 3jBuzbuFB0fvpQa1ETvIXevGH2w= + 9PQcUNZCJePNJhT5t0prZNV/lHk= S8 @@ -5473,6 +5746,9 @@ + CvFJnK9Xu7B2Fbh91NqM0+gKVEU= + hwfbdkFRNunC/3V+s6HA5BwWiSQ= + 8PQtbs9xGpu1L+b0VOqfLlE6TnY= f9 @@ -5620,6 +5896,7 @@ + 1 S0 @@ -5654,6 +5931,7 @@ + 1 S1 @@ -5766,6 +6044,7 @@ + 1 S3 @@ -6000,6 +6279,7 @@ + 1 S1 @@ -6112,6 +6392,7 @@ + 1 S3 @@ -6218,6 +6499,7 @@ + 1 f2 @@ -6371,6 +6653,7 @@ + 1 S1 @@ -6485,6 +6768,7 @@ + 1 S3 @@ -6603,6 +6887,7 @@ + 1 S4 @@ -6650,6 +6935,7 @@ + 1 f2 @@ -6804,6 +7090,7 @@ + 1 S1 @@ -6943,6 +7230,7 @@ + 1 S1 @@ -7049,6 +7337,7 @@ + 1 f0 @@ -7106,6 +7395,7 @@ + 1 S1 @@ -7247,6 +7537,7 @@ + 1 S1 @@ -7365,6 +7656,7 @@ + 1 S5 @@ -7412,6 +7704,7 @@ + 1 f0 @@ -7470,6 +7763,7 @@ + 1 S1 @@ -7577,6 +7871,7 @@ + 1 S6 @@ -7689,6 +7984,7 @@ + 1 S1 @@ -7796,6 +8092,7 @@ + 1 S6 @@ -7984,6 +8281,7 @@ + 1 S1 @@ -8091,6 +8389,7 @@ + 1 S6 @@ -8214,6 +8513,7 @@ + 1 S7 @@ -8261,6 +8561,7 @@ + 1 f6 @@ -8364,6 +8665,7 @@ + 1 S1 @@ -8579,6 +8881,7 @@ + 1 S1 @@ -8686,6 +8989,7 @@ + 1 S6 @@ -8795,6 +9099,7 @@ + 1 f6 @@ -8899,6 +9204,7 @@ + 1 S1 @@ -9006,6 +9312,7 @@ + 1 S6 @@ -9117,6 +9424,7 @@ + 1 S8 @@ -9325,6 +9633,7 @@ + 1 S1 @@ -9432,6 +9741,7 @@ + 1 S6 @@ -9544,6 +9854,7 @@ + 1 S8 @@ -9752,6 +10063,7 @@ + 1 S1 @@ -9859,6 +10171,7 @@ + 1 S6 @@ -9973,6 +10286,7 @@ + 1 S8 @@ -10091,6 +10405,7 @@ + 1 S9 @@ -10138,6 +10453,7 @@ + 1 f7 @@ -10264,6 +10580,7 @@ + 1 S1 @@ -10373,6 +10690,7 @@ + 1 f1 @@ -10504,6 +10822,7 @@ + 1 S1 @@ -10611,6 +10930,7 @@ + 1 S6 @@ -10723,6 +11043,7 @@ + 1 S8 @@ -10829,6 +11150,7 @@ + 1 f7 @@ -10955,6 +11277,7 @@ + 1 S1 @@ -11078,6 +11401,7 @@ + 1 S2 @@ -11125,6 +11449,7 @@ + 1 f1 @@ -11255,6 +11580,7 @@ + 1 S1 @@ -11366,6 +11692,7 @@ + 1 S3 @@ -11609,6 +11936,7 @@ + 1 S0 @@ -11652,6 +11980,7 @@ + 1 S1 @@ -11772,6 +12101,7 @@ + 1 S3 @@ -12009,6 +12339,7 @@ + 1 S1 @@ -12130,6 +12461,7 @@ + 1 S3 @@ -12367,6 +12699,7 @@ + 1 S1 @@ -12488,6 +12821,7 @@ + 1 S3 @@ -12725,6 +13059,7 @@ + 1 S1 @@ -12867,6 +13202,7 @@ + 1 S1 @@ -13008,6 +13344,7 @@ + 1 S1 @@ -13225,6 +13562,7 @@ + 1 S1 @@ -13367,6 +13705,7 @@ + 1 S1 @@ -13483,6 +13822,7 @@ + 1 S6 @@ -13673,6 +14013,7 @@ + 1 S1 @@ -13789,6 +14130,7 @@ + 1 S6 @@ -13979,6 +14321,7 @@ + 1 S1 @@ -14095,6 +14438,7 @@ + 1 S6 @@ -14285,6 +14629,7 @@ + 1 S1 @@ -14502,6 +14847,7 @@ + 1 S1 @@ -14618,6 +14964,7 @@ + 1 S6 @@ -14809,6 +15156,7 @@ + 1 S1 @@ -14925,6 +15273,7 @@ + 1 S6 @@ -15045,6 +15394,7 @@ + 1 S8 @@ -15280,6 +15630,7 @@ + 1 S1 @@ -15396,6 +15747,7 @@ + 1 S6 @@ -15516,6 +15868,7 @@ + 1 S8 @@ -15727,6 +16080,7 @@ + 1 S1 @@ -15843,6 +16197,7 @@ + 1 S6 @@ -15964,6 +16319,7 @@ + 1 S8 @@ -16174,6 +16530,7 @@ + 1 S1 @@ -16392,6 +16749,7 @@ + 1 S1 @@ -16508,6 +16866,7 @@ + 1 S6 @@ -16629,6 +16988,7 @@ + 1 S8 @@ -16839,6 +17199,7 @@ + 1 S1 @@ -17056,6 +17417,7 @@ + 1 S1 @@ -17176,6 +17538,7 @@ + 1 S3 @@ -17441,5 +17804,6 @@ + 1 diff --git a/test-files/golden-tests/symbols/record/class-template-specializations-2.adoc b/test-files/golden-tests/symbols/record/class-template-specializations-2.adoc index 9c2c3a8229..466c1cfb29 100644 --- a/test-files/golden-tests/symbols/record/class-template-specializations-2.adoc +++ b/test-files/golden-tests/symbols/record/class-template-specializations-2.adoc @@ -10,9 +10,6 @@ |=== | Name | link:#A-0e[`A`] -| link:#A-06[`A<double>`] -| link:#A-02[`A<long*>`] -| link:#A-03[`A<T*>`] |=== [#A-0e] @@ -28,6 +25,17 @@ template<typename T> struct A; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-02[`A<long*>`] +| link:#A-03[`A<T*>`] +| link:#A-06[`A<double>`] +|=== + + [#A-06] == link:#A-0e[A]<double> @@ -47,8 +55,6 @@ struct link:#A-0e[A]<double>; |=== | Name | link:#A-06-D-0b[`D`] -| link:#A-06-D-04[`D<float>`] -| link:#A-06-D-07[`D<short>`] |=== [#A-06-D-0b] @@ -70,9 +76,18 @@ struct D; |=== | Name | link:#A-06-D-0b-E-01[`E`] -| link:#A-06-D-0b-E-04[`E<T*>`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-06-D-04[`D<float>`] +| link:#A-06-D-07[`D<short>`] +|=== + + [#A-06-D-0b-E-01] == link:#A-06[A<double>]::link:#A-06-D-0b[D]::E @@ -86,6 +101,16 @@ template<typename T> struct E; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-06-D-07-E-01[`E<int*>`] +| link:#A-06-D-0b-E-04[`E<T*>`] +|=== + + [#A-06-D-0b-E-04] == link:#A-06[A<double>]::link:#A-06-D-0b[D]::link:#A-06-D-0b-E-01[E]<T*> @@ -138,7 +163,6 @@ struct link:#A-06-D-0b[D]<float>; |=== | Name | link:#A-06-D-04-G-06[`G`] -| link:#A-06-D-04-G-0c[`G<T*>`] |=== [#A-06-D-04-G-06] @@ -154,6 +178,15 @@ template<typename T> struct G; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-06-D-04-G-0c[`G<T*>`] +|=== + + [#A-06-D-04-G-0c] == link:#A-06[A<double>]::link:#A-06-D-04[D<float>]::link:#A-06-D-04-G-06[G]<T*> @@ -186,7 +219,6 @@ struct link:#A-06-D-0b[D]<short>; |=== | Name | link:#A-06-D-07-E-07[`E`] -| link:#A-06-D-07-E-01[`E<int*>`] |=== [#A-06-D-07-E-07] @@ -254,8 +286,6 @@ struct link:#A-0e[A]<long*>; |=== | Name | link:#A-02-B-06[`B`] -| link:#A-02-B-0d[`B<int>`] -| link:#A-02-B-05[`B<int*>`] |=== [#A-02-B-06] @@ -336,8 +366,6 @@ struct link:#A-0e[A]<T*>; |=== | Name | link:#A-03-B-05[`B`] -| link:#A-03-B-0b[`B<int>`] -| link:#A-03-B-01[`B<U*>`] |=== [#A-03-B-05] @@ -353,6 +381,18 @@ template<typename U> struct B; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-03-B-01[`B<U*>`] +| link:#A-02-B-05[`B<int*>`] +| link:#A-03-B-0b[`B<int>`] +| link:#A-02-B-0d[`B<int>`] +|=== + + [#A-03-B-0b] == link:#A-03[A<T*>]::link:#A-03-B-05[B]<int> diff --git a/test-files/golden-tests/symbols/record/class-template-specializations-2.html b/test-files/golden-tests/symbols/record/class-template-specializations-2.html index 0470da5d08..af7add090d 100644 --- a/test-files/golden-tests/symbols/record/class-template-specializations-2.html +++ b/test-files/golden-tests/symbols/record/class-template-specializations-2.html @@ -21,10 +21,7 @@

-A -A<double> -A<long*> -A<T*> +A @@ -44,6 +41,24 @@

+
+

+Specializations

+ + + + + + + + + + + + +
Name
A<long*>
A<T*>
A<double>
+ +
@@ -68,9 +83,7 @@

-D -D<float> -D<short> +D @@ -100,13 +113,29 @@

-E -E<T*> +E +
+

+Specializations

+ + + + + + + + + + + +
Name
D<float>
D<short>
+ +

@@ -123,6 +152,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
E<int*>
E<T*>
+ +
@@ -192,8 +238,7 @@

-G -G<T*> +G @@ -215,6 +260,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
G<T*>
+ +
@@ -255,8 +316,7 @@

-E -E<int*> +E @@ -347,9 +407,7 @@

-B -B<int> -B<int*> +B @@ -456,9 +514,7 @@

-B -B<int> -B<U*> +B @@ -480,6 +536,25 @@

+
+

+Specializations

+ + + + + + + + + + + + + +
Name
B<U*>
B<int*>
B<int>
B<int>
+ +
diff --git a/test-files/golden-tests/symbols/record/class-template-specializations-2.xml b/test-files/golden-tests/symbols/record/class-template-specializations-2.xml index 2fac92c30d..8da9533449 100644 --- a/test-files/golden-tests/symbols/record/class-template-specializations-2.xml +++ b/test-files/golden-tests/symbols/record/class-template-specializations-2.xml @@ -44,6 +44,9 @@ + K6BawvzqAtXZLU2Hm0qPq6aGiS8= + Nkvb8FA0/0YIpaybicEkWLwFOPo= + bcCFiKKGBMnWrAf/IBu1R/sC07s= A @@ -83,6 +86,7 @@ + 1 D @@ -116,6 +120,8 @@ + RdjbfZA0y514GFSR1pCAjUyfq24= + flW1A8++hJYAIoinZHMJ/EargvI= E @@ -147,6 +153,8 @@ + HzSR9lAhcaSZke6x6ggUIqnawQw= + TpBRSCUm33PjLoWxW50FZsR1GSM= E @@ -191,6 +199,7 @@ + 1 F @@ -253,6 +262,7 @@ + 1 G @@ -284,6 +294,7 @@ + zPgrcrIOrcVWP7Qpw8x3Zl2fIpI= G @@ -327,6 +338,7 @@ + 1 D @@ -365,6 +377,7 @@ + 1 E @@ -435,6 +448,7 @@ + 1 F @@ -506,6 +520,7 @@ + 1 B @@ -573,6 +588,7 @@ + 1 B @@ -612,6 +628,7 @@ + 1 C @@ -688,6 +705,7 @@ + 1 B @@ -719,6 +737,10 @@ + HP4W/UatJ6BMg+LZKC5cQM4kCzw= + WeO5ITJRmNS4Q90O2A5hmw/KZc8= + vuv6bo9spUYsHZ3uwTm6i6UxSNI= + 3isZeaf80hT1/O3yko6EPBPmq8s= B @@ -755,6 +777,7 @@ + 1 B @@ -799,6 +822,7 @@ + 1 C diff --git a/test-files/golden-tests/symbols/record/class-template-specializations-3.adoc b/test-files/golden-tests/symbols/record/class-template-specializations-3.adoc index 53a96dc82e..af2d5ec438 100644 --- a/test-files/golden-tests/symbols/record/class-template-specializations-3.adoc +++ b/test-files/golden-tests/symbols/record/class-template-specializations-3.adoc @@ -10,10 +10,6 @@ |=== | Name | link:#A-0e[`A`] -| link:#A-01[`A<float>`] -| link:#A-0c[`A<long>`] -| link:#A-00[`A<short>`] -| link:#A-07[`A<unsigned int>`] | link:#E[`E`] |=== @@ -36,9 +32,20 @@ struct A; |=== | Name | link:#A-0e-B-07[`B`] -| link:#A-0e-B-00[`B<double>`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-00[`A<short>`] +| link:#A-01[`A<float>`] +| link:#A-07[`A<unsigned int>`] +| link:#A-0c[`A<long>`] +|=== + + [#A-0e-B-07] == link:#A-0e[A]::B @@ -59,9 +66,22 @@ struct B; | Name | link:#A-0e-B-07-C[`C`] | link:#A-0e-B-07-D-09[`D`] -| link:#A-0e-B-07-D-0f[`D<bool>`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-00-B-00[`B<void>`] +| link:#A-0e-B-00[`B<double>`] +| link:#A-07-B-03e[`B<double>`] +| link:#A-07-B-05[`B<float>`] +| link:#A-00-B-07[`B<double>`] +| link:#A-01-B-08[`B<double>`] +|=== + + [#A-0e-B-07-C] == link:#A-0e[A]::link:#A-0e-B-07[B]::C @@ -87,6 +107,16 @@ template<typename V> struct D; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-07-B-05-D-01[`D<bool>`] +| link:#A-0e-B-07-D-0f[`D<bool>`] +|=== + + [#A-0e-B-07-D-0f] == link:#A-0e[A]::link:#A-0e-B-07[B]::link:#A-0e-B-07-D-09[D]<bool> @@ -120,7 +150,6 @@ struct link:#A-0e-B-07[B]<double>; | Name | link:#A-0e-B-00-C[`C`] | link:#A-0e-B-00-D-09[`D`] -| link:#A-0e-B-00-D-0d[`D<bool>`] |=== [#A-0e-B-00-C] @@ -148,6 +177,19 @@ template<typename V> struct D; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-00-B-07-D-0150[`D<bool>`] +| link:#A-0c-B-0d-D-03[`D<bool>`] +| link:#A-01-B-08-D-0af[`D<bool>`] +| link:#A-0e-B-00-D-0d[`D<bool>`] +| link:#A-07-B-03e-D-0f[`D<bool>`] +|=== + + [#A-0e-B-00-D-0d] == link:#A-0e[A]::link:#A-0e-B-00[B<double>]::link:#A-0e-B-00-D-09[D]<bool> @@ -180,7 +222,6 @@ struct link:#A-0e[A]<float>; |=== | Name | link:#A-01-B-07[`B`] -| link:#A-01-B-08[`B<double>`] |=== [#A-01-B-07] @@ -216,7 +257,6 @@ struct link:#A-0e-B-07[B]<double>; | Name | link:#A-01-B-08-C[`C`] | link:#A-01-B-08-D-0ae[`D`] -| link:#A-01-B-08-D-0af[`D<bool>`] |=== [#A-01-B-08-C] @@ -276,8 +316,6 @@ struct link:#A-0e[A]<long>; |=== | Name | link:#A-0c-B-0b[`B`] -| link:#A-0c-B-0d[`B<double>`] -| link:#A-0c-B-08[`B<float>`] |=== [#A-0c-B-0b] @@ -300,9 +338,18 @@ struct B; | Name | link:#A-0c-B-0b-C[`C`] | link:#A-0c-B-0b-D-00[`D`] -| link:#A-0c-B-0b-D-0b[`D<bool>`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-0c-B-08[`B<float>`] +| link:#A-0c-B-0d[`B<double>`] +|=== + + [#A-0c-B-0b-C] == link:#A-0c[A<long>]::link:#A-0c-B-0b[B]::C @@ -328,6 +375,16 @@ template<typename V> struct D; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-0c-B-08-D-03[`D<bool>`] +| link:#A-0c-B-0b-D-0b[`D<bool>`] +|=== + + [#A-0c-B-0b-D-0b] == link:#A-0c[A<long>]::link:#A-0c-B-0b[B]::link:#A-0c-B-0b-D-00[D]<bool> @@ -361,7 +418,6 @@ struct link:#A-0c-B-0b[B]<double>; | Name | link:#A-0c-B-0d-C[`C`] | link:#A-0c-B-0d-D-0c[`D`] -| link:#A-0c-B-0d-D-03[`D<bool>`] |=== [#A-0c-B-0d-C] @@ -422,7 +478,6 @@ struct link:#A-0c-B-0b[B]<float>; | Name | link:#A-0c-B-08-C[`C`] | link:#A-0c-B-08-D-08[`D`] -| link:#A-0c-B-08-D-03[`D<bool>`] |=== [#A-0c-B-08-C] @@ -482,8 +537,6 @@ struct link:#A-0e[A]<short>; |=== | Name | link:#A-00-B-0e[`B`] -| link:#A-00-B-07[`B<double>`] -| link:#A-00-B-00[`B<void>`] |=== [#A-00-B-0e] @@ -519,7 +572,6 @@ struct link:#A-0e-B-07[B]<double>; | Name | link:#A-00-B-07-C[`C`] | link:#A-00-B-07-D-015b[`D`] -| link:#A-00-B-07-D-0150[`D<bool>`] |=== [#A-00-B-07-C] @@ -580,7 +632,6 @@ struct link:#A-0e-B-07[B]<void>; | Name | link:#A-00-B-00-C[`C`] | link:#A-00-B-00-D-03[`D`] -| link:#A-00-B-00-D-07[`D<bool>`] |=== [#A-00-B-00-C] @@ -608,6 +659,15 @@ template<typename V> struct D; ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-00-B-00-D-07[`D<bool>`] +|=== + + [#A-00-B-00-D-07] == link:#A-00[A<short>]::link:#A-00-B-00[B<void>]::link:#A-00-B-00-D-03[D]<bool> @@ -640,8 +700,6 @@ struct link:#A-0e[A]<unsigned int>; |=== | Name | link:#A-07-B-03a[`B`] -| link:#A-07-B-03e[`B<double>`] -| link:#A-07-B-05[`B<float>`] |=== [#A-07-B-03a] @@ -677,7 +735,6 @@ struct link:#A-0e-B-07[B]<double>; | Name | link:#A-07-B-03e-C[`C`] | link:#A-07-B-03e-D-01[`D`] -| link:#A-07-B-03e-D-0f[`D<bool>`] |=== [#A-07-B-03e-C] @@ -738,7 +795,6 @@ struct link:#A-0e-B-07[B]<float>; | Name | link:#A-07-B-05-C[`C`] | link:#A-07-B-05-D-0e[`D`] -| link:#A-07-B-05-D-01[`D<bool>`] |=== [#A-07-B-05-C] diff --git a/test-files/golden-tests/symbols/record/class-template-specializations-3.html b/test-files/golden-tests/symbols/record/class-template-specializations-3.html index 72bcb52c47..71fab0924b 100644 --- a/test-files/golden-tests/symbols/record/class-template-specializations-3.html +++ b/test-files/golden-tests/symbols/record/class-template-specializations-3.html @@ -22,10 +22,6 @@

A -A<float> -A<long> -A<short> -A<unsigned int> E @@ -54,13 +50,31 @@

-B -B<double> +B +
+

+Specializations

+ + + + + + + + + + + + + +
Name
A<short>
A<float>
A<unsigned int>
A<long>
+ +

@@ -86,13 +100,33 @@

C -D -D<bool> +D +
+

+Specializations

+ + + + + + + + + + + + + + + +
Name
B<void>
B<double>
B<double>
B<float>
B<double>
B<double>
+ +

@@ -124,6 +158,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
D<bool>
D<bool>
+ +
@@ -165,8 +216,7 @@

C -D -D<bool> +D @@ -203,6 +253,26 @@

+
+

+Specializations

+ + + + + + + + + + + + + + +
Name
D<bool>
D<bool>
D<bool>
D<bool>
D<bool>
+ +
@@ -243,8 +313,7 @@

-B -B<double> +B @@ -291,8 +360,7 @@

C -D -D<bool> +D @@ -369,9 +437,7 @@

-B -B<double> -B<float> +B @@ -402,13 +468,29 @@

C -D -D<bool> +D +
+

+Specializations

+ + + + + + + + + + + +
Name
B<float>
B<double>
+ +

@@ -440,6 +522,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
D<bool>
D<bool>
+ +
@@ -481,8 +580,7 @@

C -D -D<bool> +D @@ -560,8 +658,7 @@

C -D -D<bool> +D @@ -638,9 +735,7 @@

-B -B<double> -B<void> +B @@ -687,8 +782,7 @@

C -D -D<bool> +D @@ -766,8 +860,7 @@

C -D -D<bool> +D @@ -804,6 +897,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
D<bool>
+ +
@@ -844,9 +953,7 @@

-B -B<double> -B<float> +B @@ -893,8 +1000,7 @@

C -D -D<bool> +D @@ -972,8 +1078,7 @@

C -D -D<bool> +D diff --git a/test-files/golden-tests/symbols/record/class-template-specializations-3.xml b/test-files/golden-tests/symbols/record/class-template-specializations-3.xml index 47ad39dfb3..3408eb2ef1 100644 --- a/test-files/golden-tests/symbols/record/class-template-specializations-3.xml +++ b/test-files/golden-tests/symbols/record/class-template-specializations-3.xml @@ -48,6 +48,10 @@ + C6fFmGgpPJ7jgwKJA98mfx5cxts= + GFV3P/JtfrnQwjOLVfI9VbJpd9U= + eeh34/7lF7rCmE7zXKBrUC7mz3A= + y/8TvVlacBAIG2ds2aYgZE+zGUU= B @@ -82,6 +86,12 @@ + AmrHzqMyGcAD714oirSEx/XCTwk= + Ax52oDYNHKdb/kayrTPXtP7EnLo= + Pna+OT/o27zekcoRTFxKtb5m+BQ= + X9RyjucPb3aRFUq3aZCNE4g/ZVE= + fSC2izK+T4vA4Kndw3xNjCTDpoQ= + gNJJgsCrBHI+de6/WxRWfc6QUSQ= C @@ -137,6 +147,8 @@ + E3rBDckOC8QkP+2YLNtbMxg69mc= + 8gtdVs8Zc/2hE1ugmc5SJaowDrk= D @@ -173,6 +185,7 @@ + 1 B @@ -212,6 +225,7 @@ + 1 C @@ -267,6 +281,11 @@ + FQCRWOnd4VbpVowmyiWSRR2l2cA= + P+rxL5vI4ct+gzn9YkO97Pt7Ras= + rzmzIDLemEwnRqvVCiQsLO9rHE4= + 2n2EC+ZzX4R61vVgqMqWD1h4Fqc= + 9bJvdwRZpk2+HRV+Az3lOybs1Wc= D @@ -303,6 +322,7 @@ + 1 A @@ -341,6 +361,7 @@ + 1 B @@ -411,6 +432,7 @@ + 1 C @@ -502,6 +524,7 @@ + 1 A @@ -541,6 +564,7 @@ + 1 B @@ -581,6 +605,8 @@ + jvnZWmA3eB78JX83nJawhD8NGhw= + 3fOXhba/en8Im2gUSThzllitRc0= C @@ -636,6 +662,8 @@ + NNxnP63PrqW2AkyLFpJx0uaNuTk= + vu+upAyFdAr9NpomAT9maDrr5VU= D @@ -672,6 +700,7 @@ + 1 B @@ -711,6 +740,7 @@ + 1 C @@ -802,6 +832,7 @@ + 1 B @@ -841,6 +872,7 @@ + 1 C @@ -932,6 +964,7 @@ + 1 A @@ -971,6 +1004,7 @@ + 1 B @@ -1041,6 +1075,7 @@ + 1 C @@ -1132,6 +1167,7 @@ + 1 B @@ -1171,6 +1207,7 @@ + 1 C @@ -1226,6 +1263,7 @@ + eYdoT3vlHlbkG+t3+ckhZAqrnlY= D @@ -1262,6 +1300,7 @@ + 1 A @@ -1301,6 +1340,7 @@ + 1 B @@ -1371,6 +1411,7 @@ + 1 C @@ -1462,6 +1503,7 @@ + 1 B @@ -1501,6 +1543,7 @@ + 1 C @@ -1592,6 +1635,7 @@ + 1 E diff --git a/test-files/golden-tests/symbols/record/template-specialization-inheritance.adoc b/test-files/golden-tests/symbols/record/template-specialization-inheritance.adoc index f4f4446b18..a7eea74604 100644 --- a/test-files/golden-tests/symbols/record/template-specialization-inheritance.adoc +++ b/test-files/golden-tests/symbols/record/template-specialization-inheritance.adoc @@ -13,10 +13,6 @@ | link:#R1[`R1`] | link:#R2[`R2`] | link:#S0-0cf[`S0`] -| link:#S0-09[`S0<2>`] -| link:#S0-073[`S0<3>`] -| link:#S0-0e[`S0<5>`] -| link:#S0-07e[`S0<6>`] | link:#U1[`U1`] | link:#U2[`U2`] | link:#U3[`U3`] @@ -168,6 +164,18 @@ struct S0; | |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#S0-073[`S0<3>`] +| link:#S0-07e[`S0<6>`] +| link:#S0-09[`S0<2>`] +| link:#S0-0e[`S0<5>`] +|=== + + [#S0-0cf-S1] == link:#S0-0cf[S0]::S1 diff --git a/test-files/golden-tests/symbols/record/template-specialization-inheritance.html b/test-files/golden-tests/symbols/record/template-specialization-inheritance.html index 8ce550db46..60fd3fa9b8 100644 --- a/test-files/golden-tests/symbols/record/template-specialization-inheritance.html +++ b/test-files/golden-tests/symbols/record/template-specialization-inheritance.html @@ -25,10 +25,6 @@

R1 R2 S0 -S0<2> -S0<3> -S0<5> -S0<6> U1 U2 U3 @@ -228,6 +224,25 @@

+

+
+

+Specializations

+ + + + + + + + + + + + + +
Name
S0<3>
S0<6>
S0<2>
S0<5>
+
diff --git a/test-files/golden-tests/symbols/record/template-specialization-inheritance.xml b/test-files/golden-tests/symbols/record/template-specialization-inheritance.xml index b30ebd31a6..6d182e9c90 100644 --- a/test-files/golden-tests/symbols/record/template-specialization-inheritance.xml +++ b/test-files/golden-tests/symbols/record/template-specialization-inheritance.xml @@ -276,6 +276,10 @@ + c7NNZfjOZ8Ztuw0u26xL/h7UKvA= + flxREiXFL5ObY0xUAxojj+jvR54= + nJGs54s6oYf7fHzIpo0tyaCSH9M= + 6Syw3aWFS3pfPUbWU7C8uCE7Jjc= S1 @@ -332,6 +336,7 @@ + 1 S1 @@ -389,6 +394,7 @@ + 1 S0 @@ -421,6 +427,7 @@ + 1 S1 @@ -476,5 +483,6 @@ + 1 diff --git a/test-files/golden-tests/symbols/typedef/decay-to-primary.adoc b/test-files/golden-tests/symbols/typedef/decay-to-primary.adoc index 1a7a7c9f5b..3450760e54 100644 --- a/test-files/golden-tests/symbols/typedef/decay-to-primary.adoc +++ b/test-files/golden-tests/symbols/typedef/decay-to-primary.adoc @@ -10,8 +10,6 @@ |=== | Name | link:#S0-03[`S0`] -| link:#S0-09[`S0<short>`] -| link:#S0-00[`S0<void>`] | link:#A0[`A0`] | link:#A1[`A1`] |=== @@ -62,6 +60,16 @@ struct S0; | link:#S0-03-M1[`M1`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#S0-00[`S0<void>`] +| link:#S0-09[`S0<short>`] +|=== + + [#S0-03-M0] == link:#S0-03[S0]::M0 diff --git a/test-files/golden-tests/symbols/typedef/decay-to-primary.html b/test-files/golden-tests/symbols/typedef/decay-to-primary.html index 93fcacf5fa..ff7ebc1711 100644 --- a/test-files/golden-tests/symbols/typedef/decay-to-primary.html +++ b/test-files/golden-tests/symbols/typedef/decay-to-primary.html @@ -22,8 +22,6 @@

S0 -S0<short> -S0<void> A0 A1 @@ -86,6 +84,23 @@

+
+

+Specializations

+ + + + + + + + + + + +
Name
S0<void>
S0<short>
+ +

diff --git a/test-files/golden-tests/symbols/typedef/decay-to-primary.xml b/test-files/golden-tests/symbols/typedef/decay-to-primary.xml index ecf53d917c..e0f01cdf73 100644 --- a/test-files/golden-tests/symbols/typedef/decay-to-primary.xml +++ b/test-files/golden-tests/symbols/typedef/decay-to-primary.xml @@ -103,6 +103,8 @@ + BWgkCsMw6w/Tkzj0tkQJ8/AWTUo= + nM49pHyBLj9V6pphxxYAxi4tXXc= M0 @@ -193,6 +195,7 @@ + 1 M0 @@ -283,6 +286,7 @@ + 1 M0 diff --git a/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.adoc b/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.adoc index 61b0da57f3..a78d0f3789 100644 --- a/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.adoc +++ b/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.adoc @@ -10,7 +10,6 @@ |=== | Name | link:#S0-03[`S0`] -| link:#S0-00[`S0<void>`] | link:#A5[`A5`] | link:#A9[`A9`] |=== @@ -60,6 +59,15 @@ struct S0; | link:#S0-03-S2[`S2`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#S0-00[`S0<void>`] +|=== + + [#S0-03-S2] == link:#S0-03[S0]::S2 @@ -82,6 +90,15 @@ struct S2; | link:#S0-03-S2-M3[`M3`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#S0-00-S2-02[`S2<char>`] +|=== + + [#S0-03-S2-M2] == link:#S0-03[S0]::link:#S0-03-S2[S2]::M2 @@ -126,7 +143,6 @@ struct link:#S0-03[S0]<void>; |=== | Name | link:#S0-00-S2-0d[`S2`] -| link:#S0-00-S2-02[`S2<char>`] |=== [#S0-00-S2-0d] diff --git a/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.html b/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.html index ecfa7c7aac..97a3225504 100644 --- a/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.html +++ b/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.html @@ -22,7 +22,6 @@

S0 -S0<void> A5 A9 @@ -84,6 +83,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
S0<void>
+ +

@@ -115,6 +130,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
S2<char>
+ +

@@ -166,8 +197,7 @@

-S2 -S2<char> +S2 diff --git a/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.xml b/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.xml index 748be35ed8..c8f12ae996 100644 --- a/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.xml +++ b/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.xml @@ -111,6 +111,7 @@ + BWgkCsMw6w/Tkzj0tkQJ8/AWTUo= S2 @@ -144,6 +145,7 @@ + LQDMND21bNwDyy/hE3qQoQzFLXY= M2 @@ -234,6 +236,7 @@ + 1 S2 @@ -303,6 +306,7 @@ + 1 M2 diff --git a/test-files/golden-tests/symbols/using/using-alias-template-dependent.adoc b/test-files/golden-tests/symbols/using/using-alias-template-dependent.adoc index 0c6c6c692b..7dc4a7166f 100644 --- a/test-files/golden-tests/symbols/using/using-alias-template-dependent.adoc +++ b/test-files/golden-tests/symbols/using/using-alias-template-dependent.adoc @@ -10,7 +10,6 @@ |=== | Name | link:#enable_if-03[`enable_if`] -| link:#enable_if-0e[`enable_if<false, T>`] | link:#is_match[`is_match`] | link:#_UniqAssignable[`_UniqAssignable`] | link:#_UniqCompatible[`_UniqCompatible`] @@ -70,6 +69,15 @@ struct enable_if; | link:#enable_if-03-type[`type`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#enable_if-0e[`enable_if<false, T>`] +|=== + + [#enable_if-03-type] == link:#enable_if-03[enable_if]::type diff --git a/test-files/golden-tests/symbols/using/using-alias-template-dependent.html b/test-files/golden-tests/symbols/using/using-alias-template-dependent.html index b974229117..af495d1bd0 100644 --- a/test-files/golden-tests/symbols/using/using-alias-template-dependent.html +++ b/test-files/golden-tests/symbols/using/using-alias-template-dependent.html @@ -22,7 +22,6 @@

enable_if -enable_if<false, T> is_match _UniqAssignable _UniqCompatible @@ -94,6 +93,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
enable_if<false, T>
+ +

diff --git a/test-files/golden-tests/symbols/using/using-alias-template-dependent.xml b/test-files/golden-tests/symbols/using/using-alias-template-dependent.xml index f66d9f2772..f0cab02f92 100644 --- a/test-files/golden-tests/symbols/using/using-alias-template-dependent.xml +++ b/test-files/golden-tests/symbols/using/using-alias-template-dependent.xml @@ -130,6 +130,7 @@ + 6f4GHawhlUckr08SJkt7su9cIDY= type @@ -197,6 +198,7 @@ + 1 is_match diff --git a/test-files/golden-tests/templates/c_mct_expl_inline.adoc b/test-files/golden-tests/templates/c_mct_expl_inline.adoc index 2b92b2c11d..d36a4b0c3f 100644 --- a/test-files/golden-tests/templates/c_mct_expl_inline.adoc +++ b/test-files/golden-tests/templates/c_mct_expl_inline.adoc @@ -30,7 +30,6 @@ struct A; |=== | Name | link:#A-B-04[`B`] -| link:#A-B-01[`B<int>`] |=== [#A-B-04] @@ -54,6 +53,15 @@ struct B; | link:#A-B-04-f[`f`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-B-01[`B<int>`] +|=== + + [#A-B-04-f] == link:#A[A]::link:#A-B-04[B]::f diff --git a/test-files/golden-tests/templates/c_mct_expl_inline.html b/test-files/golden-tests/templates/c_mct_expl_inline.html index 68de795537..aa3d8405a1 100644 --- a/test-files/golden-tests/templates/c_mct_expl_inline.html +++ b/test-files/golden-tests/templates/c_mct_expl_inline.html @@ -48,8 +48,7 @@

-B -B<int> +B @@ -85,6 +84,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
B<int>
+ +

diff --git a/test-files/golden-tests/templates/c_mct_expl_inline.xml b/test-files/golden-tests/templates/c_mct_expl_inline.xml index 2a92b6692d..68f3fb8e8f 100644 --- a/test-files/golden-tests/templates/c_mct_expl_inline.xml +++ b/test-files/golden-tests/templates/c_mct_expl_inline.xml @@ -68,6 +68,7 @@ + FxMFFVpoV2/LOOndnkQ2gu3w69U= f @@ -128,6 +129,7 @@ + 1 g diff --git a/test-files/golden-tests/templates/c_mct_expl_outside.adoc b/test-files/golden-tests/templates/c_mct_expl_outside.adoc index dc97e18d36..5cdc312bfa 100644 --- a/test-files/golden-tests/templates/c_mct_expl_outside.adoc +++ b/test-files/golden-tests/templates/c_mct_expl_outside.adoc @@ -30,7 +30,6 @@ struct A; |=== | Name | link:#A-B-04[`B`] -| link:#A-B-01[`B<int>`] |=== [#A-B-04] @@ -54,6 +53,15 @@ struct B; | link:#A-B-04-f[`f`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-B-01[`B<int>`] +|=== + + [#A-B-04-f] == link:#A[A]::link:#A-B-04[B]::f diff --git a/test-files/golden-tests/templates/c_mct_expl_outside.html b/test-files/golden-tests/templates/c_mct_expl_outside.html index 34594d7226..6faf5ac33f 100644 --- a/test-files/golden-tests/templates/c_mct_expl_outside.html +++ b/test-files/golden-tests/templates/c_mct_expl_outside.html @@ -48,8 +48,7 @@

-B -B<int> +B @@ -85,6 +84,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
B<int>
+ +

diff --git a/test-files/golden-tests/templates/c_mct_expl_outside.xml b/test-files/golden-tests/templates/c_mct_expl_outside.xml index 69e21fb2f9..282bd8ef18 100644 --- a/test-files/golden-tests/templates/c_mct_expl_outside.xml +++ b/test-files/golden-tests/templates/c_mct_expl_outside.xml @@ -68,6 +68,7 @@ + FxMFFVpoV2/LOOndnkQ2gu3w69U= f @@ -128,6 +129,7 @@ + 1 g diff --git a/test-files/golden-tests/templates/c_mft_expl_inline.adoc b/test-files/golden-tests/templates/c_mft_expl_inline.adoc index 6df23d7c39..4a7eae38e7 100644 --- a/test-files/golden-tests/templates/c_mft_expl_inline.adoc +++ b/test-files/golden-tests/templates/c_mft_expl_inline.adoc @@ -73,6 +73,15 @@ void f(); ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-f-0b[`f<int>`] +|=== + + [#A-f-0b] == link:#A[A]::link:#A-f-0e[f]<int> diff --git a/test-files/golden-tests/templates/c_mft_expl_inline.html b/test-files/golden-tests/templates/c_mft_expl_inline.html index 2c31f305f0..87c540ca56 100644 --- a/test-files/golden-tests/templates/c_mft_expl_inline.html +++ b/test-files/golden-tests/templates/c_mft_expl_inline.html @@ -92,6 +92,22 @@

template<typename T>
 void
 f();
+

+
+

+Specializations

+ + + + + + + + + + +
Name
f<int>
+
diff --git a/test-files/golden-tests/templates/c_mft_expl_inline.xml b/test-files/golden-tests/templates/c_mft_expl_inline.xml index 76b185d1e1..60f988e209 100644 --- a/test-files/golden-tests/templates/c_mft_expl_inline.xml +++ b/test-files/golden-tests/templates/c_mft_expl_inline.xml @@ -89,6 +89,7 @@ normal 1 + veV2posfyuimiNezTTVnomiz6tY= f @@ -124,5 +125,6 @@ normal 1 + 1 diff --git a/test-files/golden-tests/templates/c_mft_expl_outside.adoc b/test-files/golden-tests/templates/c_mft_expl_outside.adoc index 21efd6b0a6..573bba2855 100644 --- a/test-files/golden-tests/templates/c_mft_expl_outside.adoc +++ b/test-files/golden-tests/templates/c_mft_expl_outside.adoc @@ -73,6 +73,15 @@ void f(); ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-f-0b[`f<int>`] +|=== + + [#A-f-0b] == link:#A[A]::link:#A-f-0e[f]<int> diff --git a/test-files/golden-tests/templates/c_mft_expl_outside.html b/test-files/golden-tests/templates/c_mft_expl_outside.html index 87ac4e085b..24db55c7db 100644 --- a/test-files/golden-tests/templates/c_mft_expl_outside.html +++ b/test-files/golden-tests/templates/c_mft_expl_outside.html @@ -92,6 +92,22 @@

template<typename T>
 void
 f();
+

+
+

+Specializations

+ + + + + + + + + + +
Name
f<int>
+
diff --git a/test-files/golden-tests/templates/c_mft_expl_outside.xml b/test-files/golden-tests/templates/c_mft_expl_outside.xml index 4181a47e63..c0496706ac 100644 --- a/test-files/golden-tests/templates/c_mft_expl_outside.xml +++ b/test-files/golden-tests/templates/c_mft_expl_outside.xml @@ -89,6 +89,7 @@ normal 1 + veV2posfyuimiNezTTVnomiz6tY= f @@ -124,5 +125,6 @@ normal 1 + 1 diff --git a/test-files/golden-tests/templates/ct_expl.adoc b/test-files/golden-tests/templates/ct_expl.adoc index 8739c1570a..9ade28f868 100644 --- a/test-files/golden-tests/templates/ct_expl.adoc +++ b/test-files/golden-tests/templates/ct_expl.adoc @@ -10,7 +10,6 @@ |=== | Name | link:#A-0e[`A`] -| link:#A-00[`A<int>`] |=== [#A-0e] @@ -34,6 +33,15 @@ struct A; | link:#A-0e-f[`f`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-00[`A<int>`] +|=== + + [#A-0e-f] == link:#A-0e[A]::f diff --git a/test-files/golden-tests/templates/ct_expl.html b/test-files/golden-tests/templates/ct_expl.html index 3b3ba969be..b9c68f33eb 100644 --- a/test-files/golden-tests/templates/ct_expl.html +++ b/test-files/golden-tests/templates/ct_expl.html @@ -21,8 +21,7 @@

-A -A<int> +A @@ -56,6 +55,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
A<int>
+ +

diff --git a/test-files/golden-tests/templates/ct_expl.xml b/test-files/golden-tests/templates/ct_expl.xml index e7b8a06820..7a8174c22f 100644 --- a/test-files/golden-tests/templates/ct_expl.xml +++ b/test-files/golden-tests/templates/ct_expl.xml @@ -43,6 +43,7 @@ + AKwlChAOi+0ttIAPsD7uitS+gk0= f @@ -103,6 +104,7 @@ + 1 g diff --git a/test-files/golden-tests/templates/ct_mc_expl_outside.adoc b/test-files/golden-tests/templates/ct_mc_expl_outside.adoc index b3453a76f9..1fbf80f123 100644 --- a/test-files/golden-tests/templates/ct_mc_expl_outside.adoc +++ b/test-files/golden-tests/templates/ct_mc_expl_outside.adoc @@ -10,7 +10,6 @@ |=== | Name | link:#A-0e[`A`] -| link:#A-00[`A<int>`] |=== [#A-0e] @@ -34,6 +33,15 @@ struct A; | link:#A-0e-B[`B`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-00[`A<int>`] +|=== + + [#A-0e-B] == link:#A-0e[A]::B diff --git a/test-files/golden-tests/templates/ct_mc_expl_outside.html b/test-files/golden-tests/templates/ct_mc_expl_outside.html index 09abc77a35..db5ef240e3 100644 --- a/test-files/golden-tests/templates/ct_mc_expl_outside.html +++ b/test-files/golden-tests/templates/ct_mc_expl_outside.html @@ -21,8 +21,7 @@

-A -A<int> +A @@ -56,6 +55,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
A<int>
+ +

diff --git a/test-files/golden-tests/templates/ct_mc_expl_outside.xml b/test-files/golden-tests/templates/ct_mc_expl_outside.xml index f4a71e9b82..674c8824dd 100644 --- a/test-files/golden-tests/templates/ct_mc_expl_outside.xml +++ b/test-files/golden-tests/templates/ct_mc_expl_outside.xml @@ -43,6 +43,7 @@ + AKwlChAOi+0ttIAPsD7uitS+gk0= B @@ -128,6 +129,7 @@ + 1 B diff --git a/test-files/golden-tests/templates/ct_mct_expl_inline.adoc b/test-files/golden-tests/templates/ct_mct_expl_inline.adoc index fe59635555..0f90d8dc36 100644 --- a/test-files/golden-tests/templates/ct_mct_expl_inline.adoc +++ b/test-files/golden-tests/templates/ct_mct_expl_inline.adoc @@ -31,7 +31,6 @@ struct A; |=== | Name | link:#A-B-07[`B`] -| link:#A-B-06[`B<int>`] |=== [#A-B-07] @@ -55,6 +54,15 @@ struct B; | link:#A-B-07-f[`f`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-B-06[`B<int>`] +|=== + + [#A-B-07-f] == link:#A[A]::link:#A-B-07[B]::f diff --git a/test-files/golden-tests/templates/ct_mct_expl_inline.html b/test-files/golden-tests/templates/ct_mct_expl_inline.html index fc6af2293f..86f41ee2bc 100644 --- a/test-files/golden-tests/templates/ct_mct_expl_inline.html +++ b/test-files/golden-tests/templates/ct_mct_expl_inline.html @@ -49,8 +49,7 @@

-B -B<int> +B @@ -86,6 +85,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
B<int>
+ +

diff --git a/test-files/golden-tests/templates/ct_mct_expl_inline.xml b/test-files/golden-tests/templates/ct_mct_expl_inline.xml index 6580f28709..b1ba26341c 100644 --- a/test-files/golden-tests/templates/ct_mct_expl_inline.xml +++ b/test-files/golden-tests/templates/ct_mct_expl_inline.xml @@ -75,6 +75,7 @@ + bHsbts/3qH4qdnqFkFXkR6e8OCw= f @@ -135,6 +136,7 @@ + 1 g diff --git a/test-files/golden-tests/templates/ct_mct_expl_outside.adoc b/test-files/golden-tests/templates/ct_mct_expl_outside.adoc index 470989dd57..7aeb8ea7b5 100644 --- a/test-files/golden-tests/templates/ct_mct_expl_outside.adoc +++ b/test-files/golden-tests/templates/ct_mct_expl_outside.adoc @@ -10,7 +10,6 @@ |=== | Name | link:#A-0e[`A`] -| link:#A-00[`A<int>`] |=== [#A-0e] @@ -34,6 +33,15 @@ struct A; | link:#A-0e-B[`B`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-00[`A<int>`] +|=== + + [#A-0e-B] == link:#A-0e[A]::B @@ -55,6 +63,15 @@ struct B; | link:#A-0e-B-f[`f`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-00-B-02[`B<int>`] +|=== + + [#A-0e-B-f] == link:#A-0e[A]::link:#A-0e-B[B]::f @@ -87,7 +104,6 @@ struct link:#A-0e[A]<int>; |=== | Name | link:#A-00-B-03[`B`] -| link:#A-00-B-02[`B<int>`] |=== [#A-00-B-03] diff --git a/test-files/golden-tests/templates/ct_mct_expl_outside.html b/test-files/golden-tests/templates/ct_mct_expl_outside.html index 0fcbea97cf..137d968032 100644 --- a/test-files/golden-tests/templates/ct_mct_expl_outside.html +++ b/test-files/golden-tests/templates/ct_mct_expl_outside.html @@ -21,8 +21,7 @@

-A -A<int> +A @@ -56,6 +55,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
A<int>
+ +

@@ -86,6 +101,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
B<int>
+ +

@@ -124,8 +155,7 @@

-B -B<int> +B diff --git a/test-files/golden-tests/templates/ct_mct_expl_outside.xml b/test-files/golden-tests/templates/ct_mct_expl_outside.xml index 86c9fbb084..afef786c29 100644 --- a/test-files/golden-tests/templates/ct_mct_expl_outside.xml +++ b/test-files/golden-tests/templates/ct_mct_expl_outside.xml @@ -43,6 +43,7 @@ + AKwlChAOi+0ttIAPsD7uitS+gk0= B @@ -75,6 +76,7 @@ + IMS2etMN5nj/r7pRC8mVNme6K+o= f @@ -136,6 +138,7 @@ + 1 B @@ -204,6 +207,7 @@ + 1 g diff --git a/test-files/golden-tests/templates/ct_mf_expl_outside.adoc b/test-files/golden-tests/templates/ct_mf_expl_outside.adoc index 1174c50a67..11b6e1cca1 100644 --- a/test-files/golden-tests/templates/ct_mf_expl_outside.adoc +++ b/test-files/golden-tests/templates/ct_mf_expl_outside.adoc @@ -10,7 +10,6 @@ |=== | Name | link:#A-0e[`A`] -| link:#A-00[`A<int>`] |=== [#A-0e] @@ -34,6 +33,15 @@ struct A; | link:#A-0e-f[`f`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-00[`A<int>`] +|=== + + [#A-0e-f] == link:#A-0e[A]::f diff --git a/test-files/golden-tests/templates/ct_mf_expl_outside.html b/test-files/golden-tests/templates/ct_mf_expl_outside.html index c175cb3f7f..44b15fba6d 100644 --- a/test-files/golden-tests/templates/ct_mf_expl_outside.html +++ b/test-files/golden-tests/templates/ct_mf_expl_outside.html @@ -21,8 +21,7 @@

-A -A<int> +A @@ -56,6 +55,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
A<int>
+ +

diff --git a/test-files/golden-tests/templates/ct_mf_expl_outside.xml b/test-files/golden-tests/templates/ct_mf_expl_outside.xml index b6803bf651..472de47b3a 100644 --- a/test-files/golden-tests/templates/ct_mf_expl_outside.xml +++ b/test-files/golden-tests/templates/ct_mf_expl_outside.xml @@ -43,6 +43,7 @@ + AKwlChAOi+0ttIAPsD7uitS+gk0= f @@ -103,6 +104,7 @@ + 1 f diff --git a/test-files/golden-tests/templates/ct_mft_expl_inline.adoc b/test-files/golden-tests/templates/ct_mft_expl_inline.adoc index bf52845b0a..2528f0c5aa 100644 --- a/test-files/golden-tests/templates/ct_mft_expl_inline.adoc +++ b/test-files/golden-tests/templates/ct_mft_expl_inline.adoc @@ -74,6 +74,15 @@ void f(); ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-f-04[`f<int>`] +|=== + + [#A-f-04] == link:#A[A]::link:#A-f-07[f]<int> diff --git a/test-files/golden-tests/templates/ct_mft_expl_inline.html b/test-files/golden-tests/templates/ct_mft_expl_inline.html index ac4108b714..8edae7e0c6 100644 --- a/test-files/golden-tests/templates/ct_mft_expl_inline.html +++ b/test-files/golden-tests/templates/ct_mft_expl_inline.html @@ -93,6 +93,22 @@

template<typename U>
 void
 f();
+

+
+

+Specializations

+ + + + + + + + + + +
Name
f<int>
+
diff --git a/test-files/golden-tests/templates/ct_mft_expl_inline.xml b/test-files/golden-tests/templates/ct_mft_expl_inline.xml index cfbc7a499b..0927eb233d 100644 --- a/test-files/golden-tests/templates/ct_mft_expl_inline.xml +++ b/test-files/golden-tests/templates/ct_mft_expl_inline.xml @@ -96,6 +96,7 @@ normal 1 + TneA5Ayz4v/9oOUbbnRL1ybm8VM= f @@ -131,5 +132,6 @@ normal 1 + 1 diff --git a/test-files/golden-tests/templates/ct_mft_expl_outside.adoc b/test-files/golden-tests/templates/ct_mft_expl_outside.adoc index 39c851802b..49da666f81 100644 --- a/test-files/golden-tests/templates/ct_mft_expl_outside.adoc +++ b/test-files/golden-tests/templates/ct_mft_expl_outside.adoc @@ -10,7 +10,6 @@ |=== | Name | link:#A-0e[`A`] -| link:#A-00[`A<int>`] |=== [#A-0e] @@ -34,6 +33,15 @@ struct A; | link:#A-0e-f[`f`] |=== +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-00[`A<int>`] +|=== + + [#A-0e-f] == link:#A-0e[A]::f @@ -48,6 +56,15 @@ void f(); ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#A-00-f-07[`f<int>`] +|=== + + [#A-00] == link:#A-0e[A]<int> diff --git a/test-files/golden-tests/templates/ct_mft_expl_outside.html b/test-files/golden-tests/templates/ct_mft_expl_outside.html index a16a5c6f94..7e30a3e645 100644 --- a/test-files/golden-tests/templates/ct_mft_expl_outside.html +++ b/test-files/golden-tests/templates/ct_mft_expl_outside.html @@ -21,8 +21,7 @@

-A -A<int> +A @@ -56,6 +55,22 @@

+
+

+Specializations

+ + + + + + + + + + +
Name
A<int>
+ +

@@ -70,6 +85,22 @@

template<typename U>
 void
 f();
+

+
+

+Specializations

+ + + + + + + + + + +
Name
f<int>
+
diff --git a/test-files/golden-tests/templates/ct_mft_expl_outside.xml b/test-files/golden-tests/templates/ct_mft_expl_outside.xml index 4bf78c294d..c38c982b30 100644 --- a/test-files/golden-tests/templates/ct_mft_expl_outside.xml +++ b/test-files/golden-tests/templates/ct_mft_expl_outside.xml @@ -43,6 +43,7 @@ + AKwlChAOi+0ttIAPsD7uitS+gk0= f @@ -73,6 +74,7 @@ normal 1 + fjcm9F09lrCrLSgw6Swqw9KOBlM= A @@ -110,6 +112,7 @@ + 1 f @@ -205,5 +208,6 @@ normal 1 + 1 diff --git a/test-files/golden-tests/templates/ft_expl.adoc b/test-files/golden-tests/templates/ft_expl.adoc index 9e7c47f0ef..b65f36e22f 100644 --- a/test-files/golden-tests/templates/ft_expl.adoc +++ b/test-files/golden-tests/templates/ft_expl.adoc @@ -53,6 +53,15 @@ void f(); ---- +=== Specializations + +[cols=1] +|=== +| Name +| link:#f-0ca[`f<int>`] +|=== + + [#f-0ca] == link:#f-03[f]<int> diff --git a/test-files/golden-tests/templates/ft_expl.html b/test-files/golden-tests/templates/ft_expl.html index 60bdd61040..2ac0d95ed4 100644 --- a/test-files/golden-tests/templates/ft_expl.html +++ b/test-files/golden-tests/templates/ft_expl.html @@ -63,6 +63,22 @@

template<typename T>
 void
 f();
+

+
+

+Specializations

+ + + + + + + + + + +
Name
f<int>
+
diff --git a/test-files/golden-tests/templates/ft_expl.xml b/test-files/golden-tests/templates/ft_expl.xml index 925f1b0e72..8bff955b3e 100644 --- a/test-files/golden-tests/templates/ft_expl.xml +++ b/test-files/golden-tests/templates/ft_expl.xml @@ -63,6 +63,7 @@ normal + ytuvwgqk+lakIfCF209MYkKEp4k= f @@ -97,5 +98,6 @@ PmhXjCXUJYVnj/a7NhfjjSesyp0= normal + 1