From be8332c49b98dd1ee17b83fe9a71021baf894cdc Mon Sep 17 00:00:00 2001 From: Gennaro Prota Date: Thu, 22 Oct 2026 16:16:47 +0200 Subject: [PATCH] feat: anchors tell symbols that share a name apart by kind and signature With `legible-names`, symbols of one scope that share a name, ignoring case, were told apart by a suffix taken from their symbol IDs: an overload set of `abs` and its two functions got `abs-043`, `abs-04b` and `abs-01`. The suffix meant nothing to a reader. It changed whenever the IDs did, as they can on a Clang upgrade or with an unrelated configuration change, and it appeared, or grew longer, when one more symbol of that name joined the scope, so links into the documentation broke although nothing they pointed to had changed. We now give the plain name to the overload set (to the most accessible of the functions of one name, when a class splits them by access), to the primary template, or, between symbols of different kinds, to the kind that comes first, such as a class next to a concept. Each of the others adds the words that tell it apart: its kind (`Quantity-concept`), the number of its parameters or template arguments (`resize-1`), then their types and the qualifiers (`resize-2-double-comma-int`, and `at-1-int-const` for `at(int) const`). The other overload sets add their access, followed by `static` if their functions are static, and using-declarations add `using` and the class they name the member in. A conversion function is named after the type it converts to (`2conversion-int`), so only conversions to one type share a name. A new symbol thus changes only the anchors of the symbols it has to be told apart from. Each suffix starts with a keyword or a digit, so it can never be the name of a member, whose anchor follows its parent's after a `-` in a single-page fragment. The symbol ID remains the suffix of last resort, for symbols that nothing else tells apart, such as overloads that differ only in their constraints, or classes whose names differ only in case. Note that anchors change, and with them the file names of multipage output, for every symbol that shares its name with another and for every conversion function, so existing links to those pages break once. Fixes #1288. Fixes #1308. --- .../ROOT/pages/configuration/output.adoc | 23 + .../Metadata/Finalizers/AnchorFinalizer.cpp | 1231 ++++- .../brief-from-function-class.xml | 18 +- .../brief-from-operator.xml | 8 +- .../param-from-function-class.xml | 24 +- .../returns-from-special.xml | 10 +- .../extract-friends/extract-friends.xml | 4 +- .../extract-friends/no-extract-friends.xml | 4 +- .../extract-implicit-base-classes.xml | 2 +- .../no-extract-implicit-base-classes.xml | 2 +- .../base-overload-set.xml | 12 +- .../base-self-template.xml | 4 +- .../config/inherit-base-members/copy.xml | 12 +- .../redeclared-parameter-names.xml | 6 +- .../inherit-base-members/template-base.xml | 2 +- .../inherit-hidden-friends/copy-all.xml | 14 +- .../copy-dependencies.xml | 6 +- .../inherit-hidden-friends/shapes/chain.xml | 6 +- .../shapes/crtp-documented-base.xml | 8 +- .../crtp-implementation-defined-base.xml | 8 +- .../shapes/crtp-through-intermediate.xml | 8 +- .../shapes/private-virtual-base.xml | 18 +- .../shapes/shared-base.xml | 6 +- ...specialization-operand-documented-base.xml | 8 +- .../shapes/specialization-operand.xml | 8 +- .../shapes/two-bases-dedup.xml | 6 +- .../config/legible-names/constructor.xml | 12 +- .../config/legible-names/disambiguation.adoc | 1900 +++++++ .../config/legible-names/disambiguation.cpp | 241 + .../config/legible-names/disambiguation.xml | 4537 +++++++++++++++++ .../config/legible-names/disambiguation.yml | 1 + .../legible-names/using-declarations.cpp | 65 + .../legible-names/using-declarations.xml | 1557 ++++++ .../legible-names/using-declarations.yml | 1 + .../legible-names/without-overload-sets.cpp | 8 + .../legible-names/without-overload-sets.xml | 182 + .../legible-names/without-overload-sets.yml | 1 + .../config/overloads/const-mutable.xml | 6 +- .../fixtures/config/overloads/visibility.xml | 24 +- .../fixtures/config/sfinae/base-cycle.xml | 6 +- .../config/sfinae/record-two-params.xml | 6 +- .../show-namespaces/show-namespaces.xml | 8 +- .../sort-members-by-location.xml | 8 +- .../sort-members-by/sort-members-by-name.xml | 8 +- .../sort-namespace-members-by-location.xml | 36 +- .../sort-namespace-members-by-name.xml | 36 +- .../fixtures/config/sort/sort-members.xml | 36 +- .../golden/fixtures/config/sort/unordered.xml | 36 +- .../warn-if-undocumented.xml | 4 +- .../symbol-type/nested-private-template.xml | 4 +- .../generator/hbs/attributes/attributes.adoc | 32 +- .../generator/hbs/attributes/attributes.html | 32 +- .../hbs/hidden-friend/hidden-friend.adoc | 48 +- .../golden/fixtures/javadoc/brief/brief-3.xml | 10 +- .../fixtures/javadoc/copydoc/conversion.xml | 10 +- .../fixtures/javadoc/copydoc/decay-params.xml | 8 +- .../fixtures/javadoc/copydoc/fundamental.xml | 6 +- .../fixtures/javadoc/copydoc/no-param.xml | 6 +- .../javadoc/copydoc/operator-param.xml | 6 +- .../fixtures/javadoc/copydoc/param-types.xml | 38 +- .../fixtures/javadoc/copydoc/qualified.xml | 30 +- .../fixtures/javadoc/copydoc/qualifiers.xml | 16 +- .../javadoc/copydoc/template-arguments.xml | 12 +- .../fixtures/javadoc/ref/parent_context.xml | 6 +- .../auto-function-metadata.adoc | 22 +- .../extract-implicit-base-classes.adoc | 12 +- .../options/legible-names/legible-names.adoc | 169 + .../options/legible-names/legible-names.cpp | 25 + .../options/legible-names/legible-names.yml | 1 - .../snippets/options/overloads/overloads.adoc | 14 +- .../sort-members-assignment-1st.adoc | 16 +- .../sort-members-conversion-last.adoc | 8 +- .../sort-members-ctors-1st.adoc | 17 +- .../symbols/concept/requires-clause.xml | 8 +- .../symbols/function/conv-operator-names.xml | 16 +- .../doc-comment-macro-prefixed-inherited.xml | 2 +- .../function/explicit-conv-operator.xml | 8 +- .../symbols/function/explicit-ctor.xml | 40 +- .../function/explicit-object-parameter.xml | 6 +- .../symbols/function/macro-shared-comment.xml | 4 +- .../sfinae-out-of-line-definition.xml | 8 +- .../fixtures/symbols/function/sfinae.xml | 8 +- .../spec-mem-implicit-instantiation.xml | 22 +- .../symbols/guide/explicit-deduct-guide.xml | 10 +- .../overloads/overloads-attributes.xml | 24 +- .../symbols/overloads/overloads-brief.xml | 42 +- .../symbols/overloads/overloads-metadata.xml | 8 +- .../symbols/overloads/overloads-ostream.xml | 12 +- .../fixtures/symbols/overloads/overloads.xml | 28 +- .../record/class-template-array-spec.xml | 4 +- .../record/class-template-partial-spec.xml | 6 +- .../symbols/record/class-template-spec.xml | 18 +- .../class-template-specializations-1.xml | 28 +- .../class-template-specializations-2.xml | 24 +- .../class-template-specializations-3.xml | 44 +- .../symbols/record/conditional-explicit.xml | 18 +- .../symbols/record/dtor-overloads.xml | 6 +- .../record/friend-explicit-specialization.xml | 6 +- .../symbols/record/specialization-order.adoc | 70 +- .../record/specializations-and-guides.adoc | 30 +- .../template-specialization-inheritance.xml | 6 +- .../symbols/typedef/decay-to-primary.xml | 2 +- .../typedef/dependency-propagation.xml | 2 +- .../implicit-instantiation-member-ref.xml | 2 +- .../using/using-alias-template-dependent.xml | 4 +- .../symbols/using/using-function-after.xml | 8 +- .../symbols/using/using-function-and-type.xml | 8 +- .../using/using-function-local-overloads.xml | 20 +- .../using/using-function-overloads.xml | 16 +- .../symbols/using/using-member-conversion.xml | 8 +- .../symbols/using/using-member-function.xml | 26 +- .../variable/default-constructed-instance.xml | 4 +- .../symbols/variable/function-objects.xml | 32 +- .../symbols/variable/ns-variables.xml | 4 +- .../symbols/variable/static-data-template.xml | 6 +- .../symbols/variable/var-template.xml | 12 +- .../fixtures/templates/c_mct_expl_inline.xml | 4 +- .../fixtures/templates/c_mct_expl_outside.xml | 4 +- .../fixtures/templates/c_mft_expl_inline.xml | 6 +- .../fixtures/templates/c_mft_expl_outside.xml | 6 +- tests/golden/fixtures/templates/ct_expl.xml | 4 +- .../fixtures/templates/ct_mc_expl_outside.xml | 4 +- .../fixtures/templates/ct_mct_expl_inline.xml | 4 +- .../templates/ct_mct_expl_outside.xml | 8 +- .../fixtures/templates/ct_mf_expl_outside.xml | 4 +- .../fixtures/templates/ct_mft_expl_inline.xml | 6 +- .../templates/ct_mft_expl_outside.xml | 10 +- tests/golden/fixtures/templates/ft_expl.xml | 6 +- .../implicit-specialization-dependency.adoc | 46 +- .../implicit-specialization-dependency.xml | 4 +- 130 files changed, 10524 insertions(+), 977 deletions(-) create mode 100644 tests/golden/fixtures/config/legible-names/disambiguation.adoc create mode 100644 tests/golden/fixtures/config/legible-names/disambiguation.cpp create mode 100644 tests/golden/fixtures/config/legible-names/disambiguation.xml create mode 100644 tests/golden/fixtures/config/legible-names/disambiguation.yml create mode 100644 tests/golden/fixtures/config/legible-names/using-declarations.cpp create mode 100644 tests/golden/fixtures/config/legible-names/using-declarations.xml create mode 100644 tests/golden/fixtures/config/legible-names/using-declarations.yml create mode 100644 tests/golden/fixtures/config/legible-names/without-overload-sets.cpp create mode 100644 tests/golden/fixtures/config/legible-names/without-overload-sets.xml create mode 100644 tests/golden/fixtures/config/legible-names/without-overload-sets.yml create mode 100644 tests/golden/fixtures/snippets/options/legible-names/legible-names.adoc create mode 100644 tests/golden/fixtures/snippets/options/legible-names/legible-names.cpp diff --git a/docs/modules/ROOT/pages/configuration/output.adoc b/docs/modules/ROOT/pages/configuration/output.adoc index 3d2ee9ee7ad..3e139bfa01d 100644 --- a/docs/modules/ROOT/pages/configuration/output.adoc +++ b/docs/modules/ROOT/pages/configuration/output.adoc @@ -102,6 +102,29 @@ NOTE: When `show-enum-constants` is off (the default), enumerators are folded in xref:configuration/reference.adoc#global-namespace-index_option[`global-namespace-index`] turns the global-namespace page into a project-wide index of every top-level symbol. xref:configuration/reference.adoc#legible-names_option[`legible-names`] uses readable symbol names in file names and URLs (the alternative is short opaque hashes). +When members of a scope share a name, ignoring case, at most one of them keeps the plain name, and each of the others adds the words that tell it apart. In the example below, the class keeps `quantity` and the concept adds its kind (`Quantity-concept`). The overload set keeps `at`, and its functions add the number of their parameters, then, since both take one, the parameter types and the qualifiers of the function: `at-1-int` for `at(int)` and `at-1-int-const` for `at(int) const`. The primary template keeps `pair`, and its specialization adds the number of its template arguments (`pair-2`). + +A specialization adds its arguments as well when another specialization has as many: if the example also specialized `pair`, the two specializations would be `pair-2-int-comma-int` and `pair-2-char-comma-char`, with `comma` between two arguments as between two parameters. A specialization of a function template adds its template arguments when nothing else tells it apart (`make-0-t0-int`). A parameter's type is spelled as the function's type holds it: without a top-level `const` or `volatile`, since `at(int const)` declares the same function as `at(int)`, and an array or a function as the pointer it is adjusted to. In the spelling of a type, each punctuation character becomes a word, such as `ptr` for `*`, `scope` for `::`, and `lt` and `gt` for `<` and `>`, so a parameter of type `std::vector&` adds `std-scope-vector-lt-int-gt-ref`. + +When a class splits the functions of one name by access, the most accessible of them keeps the plain name, an overload set before a lone function. Each of the other overload sets adds its access, followed by `static` when its functions are static, and each other lone function adds the parts of its signature it needs, as an overload does. Using-declarations add `using` and the class they name the member in. A conversion function is named after the type it converts to, such as `2conversion-int`, so only conversions to one type share a name. When the words that spell the parameters and qualifiers of a function, the arguments of a specialization, the type a conversion function converts to or the scope a using-declaration names its member in would take more than 64 characters, they are replaced by `h` and the first eight hex digits of their xxh3 hash. Two classes whose names differ only in case have nothing else to tell them apart: neither keeps the plain name, and each ends with a few characters of its symbol ID. + +.Example +[source,cpp] +---- +include::example$snippets/options/legible-names/legible-names.cpp[] +---- + +.`mrdocs.yml` +[source,yaml] +---- +include::example$snippets/options/legible-names/legible-names.yml[tags=!test-only] +---- + +[.adoc-preview] +======== +include::example$snippets/options/legible-names/legible-names.adoc[tags=!footer] +======== + == Source links xref:configuration/reference.adoc#base-url_option[`base-url`] is the prefix MrDocs joins with each source file's path to build the "Declared in" link. Set it to your repository's blob URL so every symbol page links to the code that defines it: diff --git a/src/mrdocs/Metadata/Finalizers/AnchorFinalizer.cpp b/src/mrdocs/Metadata/Finalizers/AnchorFinalizer.cpp index fe905c9545c..3db8c361b73 100644 --- a/src/mrdocs/Metadata/Finalizers/AnchorFinalizer.cpp +++ b/src/mrdocs/Metadata/Finalizers/AnchorFinalizer.cpp @@ -6,23 +6,32 @@ // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) // Copyright (c) 2023 Krystian Stasiowski (sdkrystian@gmail.com) // Copyright (c) 2026 Alan de Freitas (alandefreitas@gmail.com) +// Copyright (c) 2026 Gennaro Prota (gennaro.prota@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // #include -#include #include #include #include #include +#include #include #include #include +#include +#include +#include +#include #include #include #include #include +#include +#include +#include +#include namespace mrdocs { namespace { @@ -82,74 +91,975 @@ getUnnamedInfoName(Symbol const& I) return res; } -// Computes each symbol's unqualified, URL-safe legible name, unique among -// its siblings (siblings that would collide are disambiguated with a -// suffix taken from the SymbolID). This is a build-time helper for the -// disambiguation, which is inherently a per-scope pass: a name's suffix -// length can grow as more same-named siblings are discovered, so the -// results are settled here before build() writes each unqualified name -// into the symbol's `Anchor`. The qualified fragment/path is assembled on -// demand by the generator from the parent chain, so it is not stored. -class LegibleNameTable +// A member of a scope, with the anchor it is getting. +struct ScopeEntry { - Corpus const& corpus_; + Symbol const* symbol; - /* Name used for the global namespace + // The member's name as an anchor may hold it, before disambiguation. + std::string raw; - This is typically "index" or "global" - if a symbol has the same name as the - global namespace, then it needs to be - disambiguated - */ - std::string global_ns_; + std::string anchor{}; - /* The info related to the legible name for a symbol - */ - struct LegibleName + // Whether the member keeps the plain name, so that no other member + // takes it from it. The global namespace has it from the start. + bool keepsPlainName = false; +}; + +// The kinds in the order in which they claim a name that members of +// different kinds share, with the word that sets each one apart when a +// kind that comes earlier keeps the plain name. Each word is a keyword or +// starts with a digit, so it is never the name of a member: in a +// single-page fragment, the anchor of a member follows the anchor of its +// parent after a `-`. Every record has the word `class`, whatever its +// key, so that a `struct` that becomes a `class` keeps its anchor. No two +// kinds share a word, so that two members of different kinds that add +// their words never coincide. +struct RankedKind +{ + SymbolKind kind; + std::string_view word; +}; + +constexpr RankedKind kindRanking[] = { + {SymbolKind::Namespace, "namespace"}, + {SymbolKind::Record, "class"}, + {SymbolKind::Enum, "enum"}, + {SymbolKind::Typedef, "typedef"}, + {SymbolKind::Concept, "concept"}, + {SymbolKind::Variable, "2variable"}, + {SymbolKind::Overloads, "2function"}, + {SymbolKind::Guide, "2guide"}, + {SymbolKind::Using, "using"}, + {SymbolKind::NamespaceAlias, "2namespace-alias"}, + {SymbolKind::EnumConstant, "2enumerator"}, + {SymbolKind::Macro, "2macro"}, +}; + +// The row of a member's kind in `kindRanking`. A function ranks with the +// overload sets, since it shares its name with its set. +std::size_t +rankOf(Symbol const& I) +{ + SymbolKind const kind = I.isFunction() ? SymbolKind::Overloads : I.Kind; + RankedKind const* const found = + std::ranges::find(kindRanking, kind, &RankedKind::kind); + MRDOCS_ASSERT(found != std::ranges::end(kindRanking)); + return static_cast(found - std::ranges::begin(kindRanking)); +} + +std::string_view +kindWord(Symbol const& I) +{ + return kindRanking[rankOf(I)].word; +} + +// Append a word to the text of an anchor, after a `-` unless the text is +// empty. +void +appendWord(std::string& text, std::string_view word) +{ + if (!text.empty()) + { + text.push_back('-'); + } + text.append(word); +} + +// Whether a character of a spelling belongs to an identifier. A byte +// outside ASCII does: it can only come from an identifier, since a +// character literal outside ASCII is spelled as an escape (`'\xab'`). +bool +isIdentifierChar(char c) +{ + return c == '_' || isAlphaNumeric(c) || + static_cast(c) >= 0x80; +} + +// The word each punctuation character of a spelling becomes in an +// anchor, so that spellings which differ only in their punctuation, such +// as `X<~0>` and `X<0>`, or `A, C>` and `A>`, are told +// apart. The table holds every ASCII punctuation character, since a +// constant template argument of a character type is spelled as a +// character literal (`X<'$'>`). Longer spellings come first, so that `&&` +// is not taken for two `&`. +using Spelled = std::pair; +constexpr Spelled spelledPunctuation[] = { + {"...", "pack"}, {"::", "scope"}, {"&&", "rref"}, + {"&", "ref"}, {"*", "ptr"}, {"-", "minus"}, + {"+", "plus"}, {"<", "lt"}, {">", "gt"}, + {",", "comma"}, {"(", "lparen"}, {")", "rparen"}, + {"[", "lbracket"}, {"]", "rbracket"}, {"{", "lbrace"}, + {"}", "rbrace"}, {"~", "tilde"}, {"!", "excl"}, + {"=", "eq"}, {"/", "slash"}, {"%", "percent"}, + {"^", "caret"}, {"|", "pipe"}, {"?", "question"}, + {":", "colon"}, {";", "semi"}, {".", "dot"}, + {"'", "quote"}, {"\"", "dquote"}, {"#", "hash"}, + {"\\", "backslash"}, {"@", "at"}, {"$", "dollar"}, + {"`", "backtick"}, +}; + +// Append the word the spelling of a type starts with, if it starts with +// one, and return how many characters of the spelling it took. +std::size_t +appendLeadingToken(std::string& text, std::string_view spelling) +{ + std::size_t used = 1; + if (isIdentifierChar(spelling.front())) + { + used = static_cast( + std::ranges::find_if_not(spelling, isIdentifierChar) - + spelling.begin()); + appendWord(text, spelling.substr(0, used)); + } + else if (Spelled const* const match = std::ranges::find_if( + spelledPunctuation, + [spelling](Spelled const& p) + { return spelling.starts_with(p.first); }); + match != std::ranges::end(spelledPunctuation)) { - /* Raw unqualified name for the symbol - */ - std::string unqualified; + appendWord(text, match->second); + used = match->first.size(); + } + return used; +} - /* Number of characters from the SymbolID string - required to uniquely identify this symbol - */ - std::uint8_t disambig_chars; +// Append the spelling of a type or of a template argument, in the words +// an anchor may hold: `const char*` becomes `const-char-ptr`. +void +appendSpelling(std::string& text, std::string_view spelling) +{ + std::size_t i = 0; + while (i < spelling.size()) + { + i += appendLeadingToken(text, spelling.substr(i)); + } +} - /* SymbolID converted to a string - */ - std::string id_str; +// Append the spelling of a list as the source writes it, with a comma +// between two elements, so that `(long, long long)` and `(long long, long)` +// stay apart. +void +appendListSpelling(std::string& text, std::vector const& elements) +{ + std::string list; + for (std::string const& element : elements) + { + if (!list.empty()) + { + list += ", "; + } + list += element; + } + appendSpelling(text, list); +} + +// An anchor takes at most this many characters of a signature, or of the +// type a conversion function converts to. A longer one is replaced by a +// hash of it. +constexpr std::size_t maxSignatureLength = 64; + +// The spelled signature, or, if it is longer than an anchor takes, `h` +// followed by the first eight hex digits of its xxh3 hash, which is the +// same on every platform. +std::string +shortSignature(std::string text) +{ + if (text.size() > maxSignatureLength) + { + std::uint64_t const hash = llvm::xxh3_64bits(llvm::StringRef(text)); + text = std::format("h{:08x}", hash >> 32); + } + return text; +} + +// The parts that tell apart members of one kind by a list, such as their +// parameters: the number of its elements, then their spelling. +std::vector +countAndSpelling(std::size_t count, std::string spelling) +{ + return {std::to_string(count), shortSignature(std::move(spelling))}; +} + +// The pointer that a parameter declared as an array or as a function is +// adjusted to: a pointer to the element, or to the function. A parameter +// pack stays one. +PointerType +decayedPointer(Type const& type) +{ + PointerType pointer; + pointer.IsPackExpansion = type.IsPackExpansion; + if (ArrayType const* const array = type.asArrayPtr()) + { + pointer.PointeeType = array->ElementType; + } + else + { + pointer.PointeeType = Polymorphic(type.asFunction()); + pointer.PointeeType->IsPackExpansion = false; + } + return pointer; +} + +// Whether a parameter's type differs from the type its function's type +// holds for it. +bool +isAdjustable(Type const& parameter) +{ + return parameter.isArray() || parameter.isFunction() || + parameter.IsConst || parameter.IsVolatile; +} + +// Adjust a parameter's type to the type its function's type holds for +// it: an array or a function to the pointer it decays to, and any other +// type to the type without its top-level `const` and `volatile`. +void +adjustParameter(Polymorphic& parameter) +{ + if (parameter->isArray() || parameter->isFunction()) + { + parameter = Polymorphic(decayedPointer(*parameter)); + } + else + { + parameter->IsConst = false; + parameter->IsVolatile = false; + } +} + +template +void +forEachFunctionType(TypeTy& type, Visit const& visit); + +// Call `visit` on each function type in the template arguments of a +// name or of its qualifier. +template +void +forEachFunctionTypeIn(NameTy& name, Visit const& visit) +{ + if (name.Prefix) + { + forEachFunctionTypeIn(**name.Prefix, visit); + } + if (auto* const specialization = name.asSpecializationPtr()) + { + for (auto& argument : specialization->TemplateArgs) + { + if (auto* const typeArgument = argument->asTypePtr()) + { + forEachFunctionType(*typeArgument->Type, visit); + } + } + } +} + +// Call `visit` on each function type that a type is built from, itself +// included, before the types it is built from in turn, so that `visit` +// may adjust the parameters of a function type before they are visited. +template +void +forEachFunctionType(TypeTy& type, Visit const& visit) +{ + if (auto* const function = type.asFunctionPtr()) + { + visit(*function); + for (auto& parameter : function->ParamTypes) + { + forEachFunctionType(*parameter, visit); + } + } + else if (auto* const named = type.asNamedPtr()) + { + forEachFunctionTypeIn(*named->Name, visit); + } + if (auto* const inner = innerTypePtr(type)) + { + forEachFunctionType(*inner, visit); + } +} + +// Whether a parameter's type, or the type of a parameter of a function +// type it is built from, differs from the type a function's type holds. +bool +holdsAdjustable(Type const& parameter) +{ + bool found = isAdjustable(parameter); + forEachFunctionType(parameter, [&found](FunctionType const& F) + { + found = found || std::ranges::any_of(F.ParamTypes, + [](Polymorphic const& P) { return isAdjustable(*P); }); + }); + return found; +} + +// The spelling of a parameter's type as the function's type holds it, +// with every parameter adjusted, also those of a function type it is +// built from. Otherwise `f(int* const)` would spell like `f(int*) const`, +// and `f(int a[3])` unlike `f(int* a)`, which declares the same function. +std::string +adjustedSpelling(Polymorphic const& type) +{ + std::string spelling; + if (holdsAdjustable(*type)) + { + Polymorphic adjusted = type; + adjustParameter(adjusted); + forEachFunctionType(*adjusted, [](FunctionType& F) + { + std::ranges::for_each(F.ParamTypes, adjustParameter); + }); + spelling = toString(*adjusted); + } + else + { + spelling = toString(*type); + } + return spelling; +} + +void +appendParameters(std::string& text, std::vector const& params) +{ + std::vector spellings; + for (Param const& P : params) + { + spellings.push_back(adjustedSpelling(P.Type)); + } + appendListSpelling(text, spellings); +} + +void +appendQualifiers(std::string& text, FunctionSymbol const& F) +{ + std::pair const qualifiers[] = { + {F.IsVariadic, "variadic"}, + {F.IsConst, "const"}, + {F.IsVolatile, "volatile"}, + {F.RefQualifier == ReferenceKind::LValue, "ref"}, + {F.RefQualifier == ReferenceKind::RValue, "rref"}, }; + for (auto const& [present, word] : qualifiers) + { + if (present) + { + appendWord(text, word); + } + } +} - /* A map from SymbolID to legible name information - */ - std::unordered_map map_; +// The spelled template arguments of a specialization. +std::string +argumentSpelling(TemplateInfo const& T) +{ + std::vector spellings; + for (Polymorphic const& A : T.Args) + { + spellings.push_back(toString(*A)); + } + std::string arguments; + appendListSpelling(arguments, spellings); + return arguments; +} - /* Maps unqualified names to all symbols with that name within the current - scope. Keys match case-insensitively so that names differing only in - case (which collide as a page or anchor on a case-insensitive - filesystem) are disambiguated against each other. - */ - UnorderedCIStringMultiMap disambiguation_map_; +// The parts of a function's signature that can tell it apart from its +// overloads, from the coarsest to the finest: the number of parameters, +// the parameter types with the qualifiers, the number of template +// parameters, and the template arguments of a specialization. +std::vector +functionParts(FunctionSymbol const& F) +{ + std::string signature; + appendParameters(signature, F.Params); + appendQualifiers(signature, F); + std::vector parts = + countAndSpelling(F.Params.size(), std::move(signature)); + if (F.Template) + { + parts.push_back("t" + std::to_string(F.Template->Params.size())); + parts.push_back(shortSignature(argumentSpelling(*F.Template))); + } + else + { + parts.emplace_back(); + } + return parts; +} + +// The first function of an overload set, if the corpus has it. +FunctionSymbol const* +firstFunction(OverloadsSymbol const& O, Corpus const& corpus) +{ + Symbol const* const first = + O.Members.empty() ? nullptr : corpus.find(O.Members.front()); + return first ? first->asFunctionPtr() : nullptr; +} + +bool +isStaticSet(OverloadsSymbol const& O, Corpus const& corpus) +{ + FunctionSymbol const* const F = firstFunction(O, corpus); + return F && F->StorageClass == StorageClassKind::Static; +} + +// The type that a conversion function converts to. +Type const& +conversionTarget(FunctionSymbol const& F, Corpus const&) +{ + return *F.ReturnType; +} + +// The type that the functions of an overload set of conversion functions +// convert to. A set gathers the functions of one name, so they all spell +// it alike, and the type of the first one stands for all of them. +Type const& +conversionTarget(OverloadsSymbol const& O, Corpus const& corpus) +{ + FunctionSymbol const* const F = firstFunction(O, corpus); + return F ? *F->ReturnType : *O.ReturnType; +} + +// The name of a conversion function, or of an overload set of them, as an +// anchor holds it: the reserved name followed by the spelling of the type +// they convert to (`2conversion-int`), or by a hash of the spelling when +// it is longer than an anchor takes, so that conversions to different +// types never share a name. +template +std::string +conversionName(FunctionLike const& F, Corpus const& corpus) +{ + std::string target; + appendSpelling(target, toString(conversionTarget(F, corpus))); + std::string name = getUnnamedInfoName(F); + appendWord(name, shortSignature(std::move(target))); + return name; +} + +// The part that tells apart overload sets of one name, which a class +// splits by access and by whether the functions are static: the access, +// followed by `static` for static functions. +std::vector +overloadSetParts(OverloadsSymbol const& O, Corpus const& corpus) +{ + std::string words(toString(O.Access)); + if (isStaticSet(O, corpus)) + { + appendWord(words, "static"); + } + return {std::move(words)}; +} + +// The part that tells apart using-declarations of one name: the class or +// namespace each one names it in, spelled in full (`A::B` as `A-scope-B`, +// `Base` as `Base-lt-int-gt`), or hashed when it is too long, which +// follows the word `using`. +std::vector +usingParts(UsingSymbol const& U) +{ + std::vector parts; + Name const& introduced = *U.IntroducedName; + if (introduced.Prefix) + { + std::string qualifier; + appendSpelling(qualifier, toString(**introduced.Prefix)); + parts.push_back(shortSignature(std::move(qualifier))); + } + return parts; +} + +// The parts of a specialization that can tell it apart from the others: +// the number of template arguments, and the arguments. +std::vector +templateArgumentParts(TemplateInfo const& T) +{ + return countAndSpelling(T.Args.size(), argumentSpelling(T)); +} + +std::vector +guideParts(GuideSymbol const& G) +{ + std::string parameters; + appendParameters(parameters, G.Params); + return countAndSpelling(G.Params.size(), std::move(parameters)); +} + +std::vector +signatureParts(Symbol const& I, Corpus const& corpus) +{ + return visit(I, [&corpus](SymbolTy const& S) + -> std::vector + { + std::vector parts; + if constexpr (std::same_as) + { + parts = functionParts(S); + } + else if constexpr (std::same_as) + { + parts = overloadSetParts(S, corpus); + } + else if constexpr (std::same_as) + { + parts = guideParts(S); + } + else if constexpr (std::same_as) + { + parts = usingParts(S); + } + else if constexpr (requires { S.Template; }) + { + if (S.Template && !S.Template->Args.empty()) + { + parts = templateArgumentParts(*S.Template); + } + } + return parts; + }); +} + +// How strongly a symbol that is not a function claims the plain name: a +// primary template most, a symbol that is no template less, and a +// specialization not at all. +int +templateClaim(Symbol const& I) +{ + return visit(I, [](SymbolTy const& S) + { + int claim = 1; + if constexpr (requires { S.Template; }) + { + if (S.Template) + { + claim = S.Template->specializationKind() == + TemplateSpecKind::Primary ? 2 : 0; + } + } + return claim; + }); +} + +bool +hasPlainCall(FunctionSymbol const& F) +{ + std::string qualifiers; + appendQualifiers(qualifiers, F); + return F.Params.empty() && qualifiers.empty() && !F.Template; +} + +// How strongly a member claims the plain name by its access: a private +// member least, then a protected one, and a public one, or one with no +// access, such as a member of a namespace, most. +int +accessClaim(AccessKind access) +{ + static constexpr std::pair claimByAccess[] = { + {AccessKind::None, 2}, + {AccessKind::Public, 2}, + {AccessKind::Protected, 1}, + {AccessKind::Private, 0}, + }; + int claim = 0; + for (auto const& [kind, value] : claimByAccess) + { + if (kind == access) + { + claim = value; + } + } + return claim; +} + +// What a function, or an overload set, claims the plain name by. +struct Callable +{ + AccessKind access; + bool isSet; + bool isStatic; + + // Whether it is a function that `hasPlainCall` holds for. + bool plainCall; +}; + +// How strongly a function, or an overload set, claims the plain name: +// first by its access, so that a public function keeps its name next to +// a private overload set; then an overload set more than a function; then +// a non-static one more than a static one; and last a function called +// with no arguments more than one that takes some. +int +callableClaim(Callable const& C) +{ + int const set = C.isSet ? 1 : 0; + int const nonStatic = C.isStatic ? 0 : 1; + int const plain = C.plainCall ? 1 : 0; + return ((accessClaim(C.access) * 2 + set) * 2 + nonStatic) * 2 + plain; +} + +int +functionClaim(FunctionSymbol const& F) +{ + return callableClaim({ + .access = F.Access, + .isSet = false, + .isStatic = F.StorageClass == StorageClassKind::Static, + .plainCall = hasPlainCall(F)}); +} + +int +overloadSetClaim(OverloadsSymbol const& O, Corpus const& corpus) +{ + return callableClaim({ + .access = O.Access, + .isSet = true, + .isStatic = isStaticSet(O, corpus), + .plainCall = false}); +} + +// How strongly a member claims the plain name among the members of its +// kind that share it, as `callableClaim` or `templateClaim` says. +int +nameClaim(Symbol const& I, Corpus const& corpus) +{ + int claim = 0; + if (OverloadsSymbol const* const O = I.asOverloadsPtr()) + { + claim = overloadSetClaim(*O, corpus); + } + else if (FunctionSymbol const* const F = I.asFunctionPtr()) + { + claim = functionClaim(*F); + } + else + { + claim = templateClaim(I); + } + return claim; +} + +// The member with the strongest claim to the name of its kind, unless +// another one has as strong a claim. +ScopeEntry* +findNameHolder(std::vector const& sameKind, Corpus const& corpus) +{ + int strongest = -1; + ScopeEntry* holder = nullptr; + std::size_t holders = 0; + for (ScopeEntry* const entry : sameKind) + { + int const claim = nameClaim(*entry->symbol, corpus); + if (claim > strongest) + { + strongest = claim; + holder = entry; + holders = 1; + } + else if (claim == strongest) + { + ++holders; + } + } + return holders == 1 ? holder : nullptr; +} + +// The member its scope was seeded with as the holder of its name, if one +// of them is: the global namespace, named as one of its own members. +ScopeEntry* +seededHolder(std::vector const& sameKind) +{ + std::vector::const_iterator const seeded = + std::ranges::find(sameKind, true, &ScopeEntry::keepsPlainName); + return seeded != sameKind.end() ? *seeded : nullptr; +} + +// Whether `other` starts with the first `length` parts of `parts`, which +// has at least that many. +bool +samePrefix( + std::vector const& parts, + std::vector const& other, + std::size_t length) +{ + return other.size() >= length && + std::equal(parts.begin(), parts.begin() + length, other.begin()); +} + +bool +uniquePrefix( + std::vector> const& parts, + std::size_t i, + std::size_t length) +{ + bool unique = true; + for (std::size_t j = 0; j < parts.size(); ++j) + { + unique = unique && (j == i || !samePrefix(parts[i], parts[j], length)); + } + return unique; +} + +// How many signature parts member `i` needs to tell it apart from the +// others: the fewest that do, or all of them if none do. A longer prefix +// is unique whenever a shorter one is, so the first unique one is the +// answer. +std::size_t +partsNeeded(std::vector> const& parts, std::size_t i) +{ + std::size_t needed = std::min(1, parts[i].size()); + while (needed < parts[i].size() && !uniquePrefix(parts, i, needed)) + { + ++needed; + } + return needed; +} + +// Append the first `count` parts of a member's signature to its anchor. +// The first word a member adds must be a keyword or start with a digit, +// so that it is never the name of a member. The parts of every kind but +// one start so; the class a using-declaration names its member in does +// not, so a using-declaration that does not carry the word of its kind +// yet adds it first, also when it adds no part (`using ::f;`). +void +appendParts( + ScopeEntry& entry, + std::vector const& parts, + std::size_t count) +{ + if (entry.anchor == entry.raw && entry.symbol->isUsing()) + { + appendWord(entry.anchor, kindWord(*entry.symbol)); + } + for (std::size_t k = 0; k < count; ++k) + { + if (!parts[k].empty()) + { + appendWord(entry.anchor, parts[k]); + } + } +} + +// Add to the anchor of each member the fewest parts of its signature that +// tell it apart from the others. +void +nameBySignature(std::vector const& entries, Corpus const& corpus) +{ + std::vector> parts; + for (ScopeEntry const* const entry : entries) + { + parts.push_back(signatureParts(*entry->symbol, corpus)); + } + for (std::size_t i = 0; i < entries.size(); ++i) + { + appendParts(*entries[i], parts[i], partsNeeded(parts, i)); + } +} + +// Start the anchor of a member with its name, followed by the word of its +// kind when another kind keeps the plain name. +void +startAnchor(ScopeEntry& entry, bool holdsName, bool ownsPlainName) +{ + entry.anchor = entry.raw; + if (!ownsPlainName) + { + appendWord(entry.anchor, kindWord(*entry.symbol)); + } + entry.keepsPlainName = holdsName && ownsPlainName; +} + +// Name the members of one kind that share a name. The holder of the name +// keeps it, and each of the other members adds the fewest parts of its +// signature that tell it apart. +void +nameKind( + std::vector const& sameKind, + bool ownsPlainName, + Corpus const& corpus) +{ + ScopeEntry* const seeded = seededHolder(sameKind); + ScopeEntry* const holder = + seeded ? seeded : findNameHolder(sameKind, corpus); + std::vector others; + for (ScopeEntry* const entry : sameKind) + { + startAnchor(*entry, entry == holder, ownsPlainName); + if (entry != holder) + { + others.push_back(entry); + } + } + nameBySignature(others, corpus); +} + +// Name the members of a scope that share a name, ignoring case: the kind +// that ranks first keeps the plain name. +void +nameGroup(std::vector const& group, Corpus const& corpus) +{ + std::map> byRank; + for (ScopeEntry* const entry : group) + { + byRank[rankOf(*entry->symbol)].push_back(entry); + } + bool ownsPlainName = true; + for (auto const& [rank, sameKind] : byRank) + { + nameKind(sameKind, ownsPlainName, corpus); + ownsPlainName = false; + } +} + +// The members of a scope grouped by a text they hold, ignoring case, in +// the order of the first member of each group: names that differ only in +// case collide as files on a case-insensitive filesystem. +std::vector> +groupIgnoringCase( + std::vector& scope, + std::string ScopeEntry::* text) +{ + std::unordered_map< + std::string_view, std::size_t, CIStringHash, CIStringEqual> groupOf; + std::vector> groups; + for (ScopeEntry& entry : scope) + { + auto const [found, added] = + groupOf.try_emplace(std::string_view(entry.*text), groups.size()); + if (added) + { + groups.emplace_back(); + } + groups[found->second].push_back(&entry); + } + return groups; +} + +std::string +symbolIdText(SymbolID const& id) +{ + return toLowerCase(toBase16Str(id)); +} + +// How many characters of its ID member `i` needs to differ from each of +// the others: one more than the longest prefix it shares with any of them. +std::size_t +idCharsNeeded(std::vector const& ids, std::size_t i) +{ + std::size_t needed = 1; + for (std::size_t j = 0; j < ids.size(); ++j) + { + if (j != i) + { + std::size_t const common = static_cast( + std::ranges::mismatch(ids[i], ids[j]).in1 - ids[i].begin()); + needed = std::max(needed, common + 1); + } + } + return needed; +} + +// Separate members whose anchors coincide with a suffix from their symbol +// IDs: `-0`, then as many characters of the ID as tell each member apart +// from the others. The member that keeps the plain name keeps its anchor, +// so at most one member of the set does. +void +appendIdSuffixes(std::vector const& same) +{ + std::vector ids; + for (ScopeEntry const* const entry : same) + { + ids.push_back(symbolIdText(entry->symbol->id)); + } + for (std::size_t i = 0; i < same.size(); ++i) + { + if (!same[i]->keepsPlainName) + { + same[i]->anchor += "-0"; + same[i]->anchor.append(ids[i], 0, idCharsNeeded(ids, i)); + } + } +} + +// Give ID suffixes to the members whose anchors coincide, ignoring case, +// and return whether any did. +bool +suffixCoincidingAnchors(std::vector& scope) +{ + bool found = false; + for (std::vector const& same : + groupIgnoringCase(scope, &ScopeEntry::anchor)) + { + if (same.size() > 1) + { + appendIdSuffixes(same); + found = true; + } + } + return found; +} + +// Separate the members whose anchors still coincide, ignoring case: two +// classes whose names differ only in case, say, two overloads that differ +// only in their constraints, or a conversion function whose name, which +// spells the type it converts to, matches the anchor that another member +// reaches with its suffix. An ID suffix can make an anchor coincide with +// another one, so the passes repeat until no two coincide, at most once +// per member. +void +separateDuplicates(std::vector& scope) +{ + bool again = true; + for (std::size_t pass = 0; again && pass < scope.size(); ++pass) + { + again = suffixCoincidingAnchors(scope); + } +} + +// Name the members of one scope. Members that share a name, ignoring +// case, are named together; a member whose name no other one shares +// keeps it. +void +nameScope(std::vector& scope, Corpus const& corpus) +{ + for (std::vector const& group : + groupIgnoringCase(scope, &ScopeEntry::raw)) + { + if (group.size() == 1) + { + startAnchor(*group.front(), true, true); + } + else + { + nameGroup(group, corpus); + } + } + separateDuplicates(scope); +} + +// The members a scope names: its own, not the ones it inherits. +constexpr Corpus::TraverseOptions memberTraversal = {.skipInherited = true}; + +// The unqualified, URL-safe legible name of each symbol, unique among +// its siblings. The names of a scope are settled together, since how a +// member is told apart depends on the other members that share its name; +// `build` then writes each name into the symbol's `Anchor`. +class LegibleNameTable +{ + Corpus const& corpus_; + + std::unordered_map anchors_; public: - /* Build the map of legible names for all symbols in the corpus + /* Build the legible names of all symbols in the corpus. The global + namespace is named as one of its own members that keeps its name, + `globalName`, so that none of them takes it. */ - LegibleNameTable(Corpus const& corpus, std::string_view const global_ns) + LegibleNameTable(Corpus const& corpus, std::string_view globalName) : corpus_(corpus) - , global_ns_(global_ns) { NamespaceSymbol const& global = corpus_.globalNamespace(); - - // Treat the global namespace as-if its "name" - // is in the same scope as its members - buildLegibleMember(global, global_ns_); - visit(global, *this); - - // after generating legible names for every symbol, - // set the number of disambiguation characters - // used for the global namespace to zero - map_.at(global.id).disambig_chars = 0; + std::vector scope; + scope.push_back({ + .symbol = &global, + .raw = std::string(globalName), + .keepsPlainName = true}); + nameMembers(global, std::move(scope)); } /* Visit a symbol and build legible names for its members @@ -160,36 +1070,74 @@ class LegibleNameTable { if constexpr (SymbolParent && !std::same_as) { - // Visit the members of the symbol and build legible names - constexpr Corpus::TraverseOptions opts = {.skipInherited = true}; - corpus_.traverse(opts, I, [this, &I](Symbol const& M) - { - auto const raw = getRawUnqualified(M); - buildLegibleMember(M, raw); + nameMembers(I, {}); + } + } - // Traverse non inherited function overloads inline - if (auto* MO = M.asOverloadsPtr()) - { - corpus_.traverse(*MO, [this, &I](Symbol const& M2) - { - // Not inherited in regard to I - MRDOCS_CHECK_OR(M2.Parent == I.id); - auto const raw2 = getRawUnqualified(M2); - buildLegibleMember(M2, raw2); - }); - } - }); + /* Return the disambiguated unqualified legible name for a symbol. - // Clear the disambiguation map for this scope - disambiguation_map_.clear(); + The name is unique among the symbol's siblings when a scope reached + the symbol. + */ + std::string + getUnqualified(SymbolID const& id) const + { + MRDOCS_ASSERT(corpus_.exists(id)); + std::string result; + if (auto const it = anchors_.find(id); it != anchors_.end()) + { + result = it->second; + } + else + { + // A symbol no scope reached: its plain name, which may not + // be unique among its siblings. + result = getRawUnqualified(corpus_.get(id)); + } + return result; + } - // Visit the members of the symbol to build legible names - // for their members - corpus_.traverse(opts, I, [this](Symbol const& M) - { - visit(M, *this); - }); +private: + /* Name the members of a symbol, then the members of each of them. + */ + template + void + nameMembers(InfoTy const& I, std::vector scope) + { + collectMembers(I, scope); + nameScope(scope, corpus_); + for (ScopeEntry& entry : scope) + { + anchors_.emplace(entry.symbol->id, std::move(entry.anchor)); } + corpus_.traverse(memberTraversal, I, [this](Symbol const& M) + { + visit(M, *this); + }); + } + + /* Add the members of a symbol to its scope, and the functions of the + overload sets among them. + */ + template + void + collectMembers(InfoTy const& I, std::vector& scope) const + { + corpus_.traverse(memberTraversal, I, [this, &I, &scope](Symbol const& M) + { + scope.push_back({&M, getRawUnqualified(M)}); + + // Traverse non inherited function overloads inline + if (OverloadsSymbol const* const MO = M.asOverloadsPtr()) + { + corpus_.traverse(*MO, [this, &I, &scope](Symbol const& M2) + { + // Not inherited in regard to I + MRDOCS_CHECK_OR(M2.Parent == I.id); + scope.push_back({&M2, getRawUnqualified(M2)}); + }); + } + }); } /* Get the raw unqualified name for a symbol @@ -201,7 +1149,7 @@ class LegibleNameTable on the type is returned instead. */ std::string - getRawUnqualified(SymbolID const& id) + getRawUnqualified(SymbolID const& id) const { Symbol const* I = corpus_.find(id); MRDOCS_ASSERT(I); @@ -211,7 +1159,7 @@ class LegibleNameTable /* @copydoc getRawUnqualified(SymbolID const&) */ std::string - getRawUnqualified(Symbol const& I) + getRawUnqualified(Symbol const& I) const { MRDOCS_ASSERT(I.id && I.id != SymbolID::global); if (I.Name.empty()) @@ -228,7 +1176,11 @@ class LegibleNameTable { // functions can be explicitly specialized, // and can be overloaded - if (t.FuncClass != FunctionClass::Normal || + if (t.FuncClass == FunctionClass::Conversion) + { + return conversionName(t, corpus_); + } + else if (t.FuncClass != FunctionClass::Normal || t.OverloadedOperator != OperatorKind::None) { return getUnnamedInfoName(t); @@ -253,121 +1205,6 @@ class LegibleNameTable return t.Name; }); } - - /* Take the raw unqualified name for a symbol and build a legible name - */ - void - buildLegibleMember(Symbol const& I, - std::string_view rawName) - { - // Generate the legible name information for this symbol - auto const idAsString = toBase16(std::string_view( - reinterpret_cast(I.id.data()), I.id.size()), true); - LegibleName LI(std::string(rawName), 0, idAsString); - LegibleName& info = map_.emplace(I.id, std::move(LI)).first->second; - - // Look for symbols with the same unqualified name. The map matches - // case-insensitively, so a name that differs from a sibling only in - // case is treated as a collision and disambiguated the same way an - // exact duplicate is. - auto [first, last] = disambiguation_map_.equal_range(rawName); - auto sameNames = std::ranges::subrange(first, last) | std::views::values; - if (std::ranges::empty(sameNames)) - { - // Add this symbol to the disambiguation map - disambiguation_map_.emplace(rawName, &info); - // If there are no other symbols with the same name, then - // disambiguation is not required. - return; - } - - // Iterate over the other symbols with the same raw unqualified name - // and update their legible name information - std::uint8_t suffix_size_required = 0; - for (LegibleName* other : sameNames) - { - // Find the first character that differs between the two symbol IDs - auto const mismatch_it = std::ranges::mismatch( - info.id_str, other->id_str).in1; - // Number of characters required to disambiguate - std::uint8_t n_required = std::distance(info.id_str.begin(), mismatch_it) + 1; - // Update the suffix size for the other symbol - other->disambig_chars = std::max(n_required, other->disambig_chars); - // Update the suffix size needed for this symbol - suffix_size_required = std::max(suffix_size_required, n_required); - } - - // Use the longest suffix needed to disambiguate - // between all symbols with the same name in this scope - info.disambig_chars = suffix_size_required; - - // Add this symbol to the disambiguation map - disambiguation_map_.emplace(rawName, &info); - } - - void - getLegibleUnqualified( - std::string& result, - SymbolID const& id) - { - MRDOCS_ASSERT(corpus_.exists(id)); - - // Find the legible name information for this symbol - auto it = map_.find(id); - if (it == map_.end()) - { - // Late-build a legible name for this symbol. - // NOTE: This may not perfectly disambiguate against siblings - // because the per-scope disambiguation_map_ is ephemeral, - // but it avoids a hard crash and produces a stable name. - Symbol const& I = corpus_.get(id); - auto const raw = getRawUnqualified(I); - buildLegibleMember(I, raw); - it = map_.find(I.id); - if (it == map_.end()) - { - // Final, robust fallback: emit the raw SymbolID (legible-ish), - // and return without crashing. - result.append(toBase16Str(I.id)); - return; - } - } - - auto& [unqualified, n_disambig, id_str] = it->second; - - // Append the unqualified name to the result - // The unqualified name has no reserved chars - result.reserve( - result.size() + - unqualified.size() + - n_disambig ? n_disambig + 2 : 0); - result.append(unqualified); - - // Append a disambiguation suffix from the symbol ID if needed - if (n_disambig) - { - // KRYSTIAN FIXME: the SymbolID chars must be prefixed with - // a reserved character, otherwise there could be a - // conflict with a name in an inner scope. this could be - // resolved by using the base-10 representation of the SymbolID - result.append("-0"); - result.append(id_str.c_str(), n_disambig); - } - } - - /* Return the disambiguated unqualified legible name for a symbol. - - The name is unique among the symbol's siblings. The qualified form - is assembled on demand by the generator, which walks the parent - chain joining these unqualified anchors, so it is not stored here. - */ - std::string - getUnqualified(SymbolID const& id) - { - std::string result; - getLegibleUnqualified(result, id); - return result; - } }; } // (anon) diff --git a/tests/golden/fixtures/config/auto-function-metadata/brief-from-function-class.xml b/tests/golden/fixtures/config/auto-function-metadata/brief-from-function-class.xml index dcaa4562129..4a38c4bfa4d 100644 --- a/tests/golden/fixtures/config/auto-function-metadata/brief-from-function-class.xml +++ b/tests/golden/fixtures/config/auto-function-metadata/brief-from-function-class.xml @@ -74,7 +74,7 @@ X - 2constructor-08 + 2constructor brief-from-function-class.cpp @@ -136,7 +136,7 @@ X - 2constructor-0e8 + 2constructor-0 brief-from-function-class.cpp @@ -181,7 +181,7 @@ X - 2constructor-0e0 + 2constructor-1-const-X-ref brief-from-function-class.cpp @@ -261,7 +261,7 @@ X - 2constructor-06 + 2constructor-1-X-rref brief-from-function-class.cpp @@ -340,7 +340,7 @@ X - 2constructor-07 + 2constructor-1-int @@ -422,7 +422,7 @@ X - 2constructor-0b + 2constructor-1-const-A-ref @@ -510,7 +510,7 @@ X - 2constructor-00 + 2constructor-1-A-rref @@ -641,7 +641,7 @@ operator A - 2conversion-00 + 2conversion-A @@ -706,7 +706,7 @@ operator int - 2conversion-0b + 2conversion-int diff --git a/tests/golden/fixtures/config/auto-function-metadata/brief-from-operator.xml b/tests/golden/fixtures/config/auto-function-metadata/brief-from-operator.xml index 5f337706ff1..e4d217538b1 100644 --- a/tests/golden/fixtures/config/auto-function-metadata/brief-from-operator.xml +++ b/tests/golden/fixtures/config/auto-function-metadata/brief-from-operator.xml @@ -75,7 +75,7 @@ operator= - operator_assign-0a + operator_assign @@ -137,7 +137,7 @@ operator= - operator_assign-06 + operator_assign-1-const-X-ref @@ -233,7 +233,7 @@ operator= - operator_assign-0e + operator_assign-1-X-rref @@ -328,7 +328,7 @@ operator= - operator_assign-0d + operator_assign-1-const-A-ref diff --git a/tests/golden/fixtures/config/auto-function-metadata/param-from-function-class.xml b/tests/golden/fixtures/config/auto-function-metadata/param-from-function-class.xml index 0033d48750d..32056a06977 100644 --- a/tests/golden/fixtures/config/auto-function-metadata/param-from-function-class.xml +++ b/tests/golden/fixtures/config/auto-function-metadata/param-from-function-class.xml @@ -74,7 +74,7 @@ X - 2constructor-08 + 2constructor @@ -142,7 +142,7 @@ X - 2constructor-0e + 2constructor-1-const-X-ref @@ -221,7 +221,7 @@ X - 2constructor-06 + 2constructor-1-X-rref @@ -299,7 +299,7 @@ X - 2constructor-07 + 2constructor-1-int @@ -381,7 +381,7 @@ X - 2constructor-0b + 2constructor-1-const-A-ref @@ -469,7 +469,7 @@ X - 2constructor-00 + 2constructor-1-A-rref @@ -556,7 +556,7 @@ operator= - operator_assign-0a + operator_assign @@ -630,7 +630,7 @@ operator= - operator_assign-06 + operator_assign-1-const-X-ref @@ -726,7 +726,7 @@ operator= - operator_assign-0e + operator_assign-1-X-rref @@ -821,7 +821,7 @@ operator= - operator_assign-07f + operator_assign-1-int @@ -911,7 +911,7 @@ operator= - operator_assign-0d + operator_assign-1-const-A-ref @@ -1007,7 +1007,7 @@ operator= - operator_assign-07e + operator_assign-1-A-rref diff --git a/tests/golden/fixtures/config/auto-function-metadata/returns-from-special.xml b/tests/golden/fixtures/config/auto-function-metadata/returns-from-special.xml index 8091c9de7db..1b5e0108773 100644 --- a/tests/golden/fixtures/config/auto-function-metadata/returns-from-special.xml +++ b/tests/golden/fixtures/config/auto-function-metadata/returns-from-special.xml @@ -134,7 +134,7 @@ operator= - operator_assign-0a + operator_assign @@ -179,7 +179,7 @@ operator= - operator_assign-0d + operator_assign-1-const-A-ref @@ -275,7 +275,7 @@ operator= - operator_assign-07 + operator_assign-1-A-rref @@ -523,7 +523,7 @@ operator A - 2conversion-00 + 2conversion-A @@ -588,7 +588,7 @@ operator Undoc - 2conversion-03 + 2conversion-Undoc diff --git a/tests/golden/fixtures/config/extract-friends/extract-friends.xml b/tests/golden/fixtures/config/extract-friends/extract-friends.xml index d9ccba07187..3bd4e3b5cd7 100644 --- a/tests/golden/fixtures/config/extract-friends/extract-friends.xml +++ b/tests/golden/fixtures/config/extract-friends/extract-friends.xml @@ -39,7 +39,7 @@ hash - hash-03 + hash @@ -68,7 +68,7 @@ hash - hash-08 + hash-1 extract-friends.cpp diff --git a/tests/golden/fixtures/config/extract-friends/no-extract-friends.xml b/tests/golden/fixtures/config/extract-friends/no-extract-friends.xml index b7449b99720..a82631de4f5 100644 --- a/tests/golden/fixtures/config/extract-friends/no-extract-friends.xml +++ b/tests/golden/fixtures/config/extract-friends/no-extract-friends.xml @@ -40,7 +40,7 @@ hash - hash-03 + hash @@ -69,7 +69,7 @@ hash - hash-08 + hash-1 no-extract-friends.cpp diff --git a/tests/golden/fixtures/config/extract-implicit-base-classes/extract-implicit-base-classes.xml b/tests/golden/fixtures/config/extract-implicit-base-classes/extract-implicit-base-classes.xml index 810a99947cd..249f024eefe 100644 --- a/tests/golden/fixtures/config/extract-implicit-base-classes/extract-implicit-base-classes.xml +++ b/tests/golden/fixtures/config/extract-implicit-base-classes/extract-implicit-base-classes.xml @@ -114,7 +114,7 @@ B - B-00 + B extract-implicit-base-classes.cpp diff --git a/tests/golden/fixtures/config/extract-implicit-base-classes/no-extract-implicit-base-classes.xml b/tests/golden/fixtures/config/extract-implicit-base-classes/no-extract-implicit-base-classes.xml index b453eead170..87595f9c2f4 100644 --- a/tests/golden/fixtures/config/extract-implicit-base-classes/no-extract-implicit-base-classes.xml +++ b/tests/golden/fixtures/config/extract-implicit-base-classes/no-extract-implicit-base-classes.xml @@ -112,7 +112,7 @@ B - B-00 + B no-extract-implicit-base-classes.cpp diff --git a/tests/golden/fixtures/config/inherit-base-members/base-overload-set.xml b/tests/golden/fixtures/config/inherit-base-members/base-overload-set.xml index 80023ded8a7..b42fd34011a 100644 --- a/tests/golden/fixtures/config/inherit-base-members/base-overload-set.xml +++ b/tests/golden/fixtures/config/inherit-base-members/base-overload-set.xml @@ -59,7 +59,7 @@ foo - foo-04 + foo @@ -103,7 +103,7 @@ foo - foo-0a + foo-0 @@ -141,7 +141,7 @@ foo - foo-08 + foo-0-const @@ -227,7 +227,7 @@ foo - foo-04 + foo @@ -271,7 +271,7 @@ foo - foo-0a + foo-0 @@ -309,7 +309,7 @@ foo - foo-08 + foo-0-const diff --git a/tests/golden/fixtures/config/inherit-base-members/base-self-template.xml b/tests/golden/fixtures/config/inherit-base-members/base-self-template.xml index 249b358be0b..99ed5332e2c 100644 --- a/tests/golden/fixtures/config/inherit-base-members/base-self-template.xml +++ b/tests/golden/fixtures/config/inherit-base-members/base-self-template.xml @@ -11,7 +11,7 @@ Foo - Foo-02 + Foo base-self-template.cpp @@ -101,7 +101,7 @@ Foo - Foo-0f + Foo-1 base-self-template.cpp diff --git a/tests/golden/fixtures/config/inherit-base-members/copy.xml b/tests/golden/fixtures/config/inherit-base-members/copy.xml index 4d904d1b99e..7154c42e59a 100644 --- a/tests/golden/fixtures/config/inherit-base-members/copy.xml +++ b/tests/golden/fixtures/config/inherit-base-members/copy.xml @@ -1115,7 +1115,7 @@ do_derived_shadowed - do_derived_shadowed-0a + do_derived_shadowed @@ -1348,7 +1348,7 @@ do_derived_shadowed - do_derived_shadowed-0d + do_derived_shadowed-0 @@ -1795,7 +1795,7 @@ derived_shadowed - derived_shadowed-0a + derived_shadowed-0-0a @@ -1856,7 +1856,7 @@ do_derived_shadowed - do_derived_shadowed-0e + do_derived_shadowed @@ -2103,7 +2103,7 @@ derived_shadowed - derived_shadowed-0f + derived_shadowed-0-0f @@ -2351,7 +2351,7 @@ do_derived_shadowed - do_derived_shadowed-06 + do_derived_shadowed-0 diff --git a/tests/golden/fixtures/config/inherit-base-members/redeclared-parameter-names.xml b/tests/golden/fixtures/config/inherit-base-members/redeclared-parameter-names.xml index c1539ed6d9c..ab12b272671 100644 --- a/tests/golden/fixtures/config/inherit-base-members/redeclared-parameter-names.xml +++ b/tests/golden/fixtures/config/inherit-base-members/redeclared-parameter-names.xml @@ -983,7 +983,7 @@ r - r-05 + r @@ -1044,7 +1044,7 @@ r - r-06 + r-1-X-06 @@ -1132,7 +1132,7 @@ r - r-09 + r-1-X-09 diff --git a/tests/golden/fixtures/config/inherit-base-members/template-base.xml b/tests/golden/fixtures/config/inherit-base-members/template-base.xml index 8a20e593e96..d02b41cccca 100644 --- a/tests/golden/fixtures/config/inherit-base-members/template-base.xml +++ b/tests/golden/fixtures/config/inherit-base-members/template-base.xml @@ -11,7 +11,7 @@ base - base-06 + base template-base.cpp diff --git a/tests/golden/fixtures/config/inherit-hidden-friends/copy-all.xml b/tests/golden/fixtures/config/inherit-hidden-friends/copy-all.xml index f7aab26fc0f..cdb748f2d74 100644 --- a/tests/golden/fixtures/config/inherit-hidden-friends/copy-all.xml +++ b/tests/golden/fixtures/config/inherit-hidden-friends/copy-all.xml @@ -206,7 +206,7 @@ less - less-09 + less copy-all.cpp @@ -249,7 +249,7 @@ less - less-0d + less-2-base-comma-base copy-all.cpp @@ -322,7 +322,7 @@ less - less-0c + less-2-wrapped-comma-wrapped copy-all.cpp @@ -403,7 +403,7 @@ operator== - operator_eq-04 + operator_eq copy-all.cpp @@ -447,7 +447,7 @@ operator== - operator_eq-08 + operator_eq-2-base-comma-base copy-all.cpp @@ -591,7 +591,7 @@ operator== - operator_eq-07 + operator_eq-2-wrapped-comma-wrapped copy-all.cpp @@ -743,7 +743,7 @@ operator== - operator_eq-06 + operator_eq-2-value-comma-value copy-all.cpp diff --git a/tests/golden/fixtures/config/inherit-hidden-friends/copy-dependencies.xml b/tests/golden/fixtures/config/inherit-hidden-friends/copy-dependencies.xml index 30b15554347..fa497a65ff6 100644 --- a/tests/golden/fixtures/config/inherit-hidden-friends/copy-dependencies.xml +++ b/tests/golden/fixtures/config/inherit-hidden-friends/copy-dependencies.xml @@ -286,7 +286,7 @@ operator== - operator_eq-04 + operator_eq copy-dependencies.cpp @@ -330,7 +330,7 @@ operator== - operator_eq-08 + operator_eq-2-base-comma-base copy-dependencies.cpp @@ -481,7 +481,7 @@ operator== - operator_eq-06 + operator_eq-2-value-comma-value copy-dependencies.cpp diff --git a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/chain.xml b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/chain.xml index 9c2edf71033..c423dfae8f8 100644 --- a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/chain.xml +++ b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/chain.xml @@ -372,7 +372,7 @@ operator== - operator_eq-04 + operator_eq chain.cpp @@ -429,7 +429,7 @@ operator== - operator_eq-00e + operator_eq-2-mid-comma-mid chain.cpp @@ -580,7 +580,7 @@ operator== - operator_eq-007 + operator_eq-2-leaf-comma-leaf chain.cpp diff --git a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/crtp-documented-base.xml b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/crtp-documented-base.xml index 20e54d9baba..29de9293b1b 100644 --- a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/crtp-documented-base.xml +++ b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/crtp-documented-base.xml @@ -33,7 +33,7 @@ crtp_base - crtp_base-0f6 + crtp_base crtp-documented-base.cpp @@ -162,7 +162,7 @@ operator== - operator_eq-04 + operator_eq crtp-documented-base.cpp @@ -215,7 +215,7 @@ operator== - operator_eq-0b + operator_eq-2-crtp_base-comma-crtp_base crtp-documented-base.cpp @@ -346,7 +346,7 @@ operator== - operator_eq-03 + operator_eq-2-crtp_base-lt-derived-gt-comma-crtp_base-lt-derived-gt diff --git a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/crtp-implementation-defined-base.xml b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/crtp-implementation-defined-base.xml index 5d10345bbf3..26c668e5225 100644 --- a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/crtp-implementation-defined-base.xml +++ b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/crtp-implementation-defined-base.xml @@ -56,7 +56,7 @@ crtp_base - crtp_base-07 + crtp_base crtp-implementation-defined-base.cpp @@ -94,7 +94,7 @@ operator== - operator_eq-01 + operator_eq crtp-implementation-defined-base.cpp @@ -147,7 +147,7 @@ operator== - operator_eq-02c + operator_eq-2-crtp_base-comma-crtp_base crtp-implementation-defined-base.cpp @@ -278,7 +278,7 @@ operator== - operator_eq-02d + operator_eq-2-crtp_base-lt-derived-gt-comma-crtp_base-lt-derived-gt diff --git a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/crtp-through-intermediate.xml b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/crtp-through-intermediate.xml index 6267bd86161..6ca7a32b964 100644 --- a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/crtp-through-intermediate.xml +++ b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/crtp-through-intermediate.xml @@ -56,7 +56,7 @@ equality_comparable - equality_comparable-09 + equality_comparable crtp-through-intermediate.cpp @@ -165,7 +165,7 @@ operator== - operator_eq-01 + operator_eq crtp-through-intermediate.cpp @@ -218,7 +218,7 @@ operator== - operator_eq-03 + operator_eq-2-const-Derived-ref-comma-const-Derived-ref crtp-through-intermediate.cpp @@ -359,7 +359,7 @@ operator== - operator_eq-06 + operator_eq-2-const-mid-ref-comma-const-mid-ref diff --git a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/private-virtual-base.xml b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/private-virtual-base.xml index af3554e3a33..f08bc4973fc 100644 --- a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/private-virtual-base.xml +++ b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/private-virtual-base.xml @@ -56,7 +56,7 @@ counter - counter-04 + counter private-virtual-base.cpp @@ -152,7 +152,7 @@ operator== - operator_eq-01 + operator_eq private-virtual-base.cpp @@ -205,7 +205,7 @@ operator== - operator_eq-06 + operator_eq-2-private_base-comma-private_base private-virtual-base.cpp @@ -336,7 +336,7 @@ operator== - operator_eq-03 + operator_eq-2-const-Derived-ref-comma-const-Derived-ref private-virtual-base.cpp @@ -477,7 +477,7 @@ operator== - operator_eq-0f + operator_eq-2-const-counted-ref-comma-const-counted-ref @@ -622,7 +622,7 @@ operator== - operator_eq-07 + operator_eq-2-virtual_base-comma-virtual_base private-virtual-base.cpp @@ -968,7 +968,7 @@ operator== - operator_eq-04 + operator_eq private-virtual-base.cpp @@ -1011,7 +1011,7 @@ operator== - operator_eq-0d + operator_eq-2-const-counted-ref-comma-const-counted-ref private-virtual-base.cpp @@ -1161,7 +1161,7 @@ operator== - operator_eq-08 + operator_eq-2-virtual_derived-comma-virtual_derived private-virtual-base.cpp diff --git a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/shared-base.xml b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/shared-base.xml index 63d3fd03d03..9dbaafb1ed6 100644 --- a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/shared-base.xml +++ b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/shared-base.xml @@ -352,7 +352,7 @@ operator== - operator_eq-04 + operator_eq shared-base.cpp @@ -395,7 +395,7 @@ operator== - operator_eq-0d + operator_eq-2-derived_a-comma-derived_a shared-base.cpp @@ -533,7 +533,7 @@ operator== - operator_eq-03 + operator_eq-2-derived_b-comma-derived_b shared-base.cpp diff --git a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/specialization-operand-documented-base.xml b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/specialization-operand-documented-base.xml index 840f3ac4c9b..6096911b5a2 100644 --- a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/specialization-operand-documented-base.xml +++ b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/specialization-operand-documented-base.xml @@ -33,7 +33,7 @@ base - base-0c + base specialization-operand-documented-base.cpp @@ -162,7 +162,7 @@ operator== - operator_eq-04 + operator_eq specialization-operand-documented-base.cpp @@ -215,7 +215,7 @@ operator== - operator_eq-01 + operator_eq-2-base-lt-T-gt-comma-base-lt-T-gt specialization-operand-documented-base.cpp @@ -378,7 +378,7 @@ operator== - operator_eq-03 + operator_eq-2-base-lt-int-gt-comma-base-lt-int-gt diff --git a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/specialization-operand.xml b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/specialization-operand.xml index 74a4f8f4469..beb20176f13 100644 --- a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/specialization-operand.xml +++ b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/specialization-operand.xml @@ -56,7 +56,7 @@ base - base-04 + base specialization-operand.cpp @@ -94,7 +94,7 @@ operator== - operator_eq-01 + operator_eq specialization-operand.cpp @@ -147,7 +147,7 @@ operator== - operator_eq-0b + operator_eq-2-base-lt-T-gt-comma-base-lt-T-gt specialization-operand.cpp @@ -310,7 +310,7 @@ operator== - operator_eq-08 + operator_eq-2-base-lt-int-gt-comma-base-lt-int-gt diff --git a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/two-bases-dedup.xml b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/two-bases-dedup.xml index 2142b1902f9..ba9206cce89 100644 --- a/tests/golden/fixtures/config/inherit-hidden-friends/shapes/two-bases-dedup.xml +++ b/tests/golden/fixtures/config/inherit-hidden-friends/shapes/two-bases-dedup.xml @@ -114,7 +114,7 @@ operator== - operator_eq-01 + operator_eq two-bases-dedup.cpp @@ -158,7 +158,7 @@ operator== - operator_eq-0b + operator_eq-2-left-comma-left two-bases-dedup.cpp @@ -302,7 +302,7 @@ operator== - operator_eq-0d + operator_eq-2-right-comma-right two-bases-dedup.cpp diff --git a/tests/golden/fixtures/config/legible-names/constructor.xml b/tests/golden/fixtures/config/legible-names/constructor.xml index 89be2aa111e..ebf9775c6f5 100644 --- a/tests/golden/fixtures/config/legible-names/constructor.xml +++ b/tests/golden/fixtures/config/legible-names/constructor.xml @@ -33,7 +33,7 @@ X - 2constructor-08 + 2constructor @@ -101,7 +101,7 @@ X - 2constructor-0e8 + 2constructor-0 @@ -145,7 +145,7 @@ X - 2constructor-0e0 + 2constructor-1-const-X-ref @@ -224,7 +224,7 @@ X - 2constructor-069 + 2constructor-1-X-rref @@ -302,7 +302,7 @@ X - 2constructor-06f + 2constructor-1-double @@ -384,7 +384,7 @@ X - 2constructor-07 + 2constructor-1-int diff --git a/tests/golden/fixtures/config/legible-names/disambiguation.adoc b/tests/golden/fixtures/config/legible-names/disambiguation.adoc new file mode 100644 index 00000000000..06e3dedafb2 --- /dev/null +++ b/tests/golden/fixtures/config/legible-names/disambiguation.adoc @@ -0,0 +1,1900 @@ += Reference +:mrdocs: + +[#index] +== Global namespace + +=== Namespaces + +[cols="1"] +|=== +| Name +| link:#N[`N`] +| link:#Region[`Region`] +|=== + + +=== Namespace Aliases + +[cols="1"] +|=== +| Name +| link:#region-2namespace-alias[`region`] +|=== + + +=== Types + +[cols="1"] +|=== +| Name +| link:#Access[`Access`] +| link:#Adjusted[`Adjusted`] +| link:#Boundaries[`Boundaries`] +| link:#Box[`Box`] +| link:#Exposed[`Exposed`] +| link:#Größe[`Größe`] +| link:#Grüße[`Grüße`] +| link:#Guarded[`Guarded`] +| link:#Holder[`Holder`] +| link:#Index-class[`Index`] +| link:#Key[`Key`] +| link:#Many[`Many`] +| link:#Offset[`Offset`] +| link:#Pair[`Pair`] +| link:#Punctuated[`Punctuated`] +| link:#Settings[`Settings`] +| link:#Shared[`Shared`] +| link:#Sized[`Sized`] +| link:#Widget[`Widget`] +| link:#Wrapper[`Wrapper`] +| link:#X[`X`] +| link:#a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor[`a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor`] +| link:#quantity[`quantity`] +| link:#stat[`stat`] +|=== + + +=== Type Aliases + +[cols="1"] +|=== +| Name +| link:#x-typedef[`x`] +|=== + + +=== Functions + +[cols="1"] +|=== +| Name +| link:#make[`make`] +| link:#stat-2function[`stat`] +|=== + + +=== Concepts + +[cols="1"] +|=== +| Name +| link:#Quantity-concept[`Quantity`] +|=== + + +=== Using Declarations + +[cols="1"] +|=== +| Name +| link:#X-using[`X`] +|=== + + +[#N] +== N + +=== Functions + +[cols="1"] +|=== +| Name +| link:#N-X[`X`] +|=== + + +[#N-X] +== link:#N[N]::X + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +X(); +---- + +[#Region] +== Region + +=== Types + +[cols="1"] +|=== +| Name +| link:#Region-Area[`Area`] +|=== + + +[#Region-Area] +== link:#Region[Region]::Area + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Area; +---- + +[#region-2namespace-alias] +== region + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +namespace region = link:#Region[Region]; +---- + +[#x-typedef] +== x + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +using x = int; +---- + +[#Access] +== Access + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Access; +---- + +=== Member Functions + +[cols="1"] +|=== +| Name +| link:#Access-set[`set`] +|=== + + +=== Protected Member Functions + +[cols="1"] +|=== +| Name +| link:#Access-set-protected[`set`] +|=== + + +[#Access-set] +== link:#Access[Access]::set + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Access-set-0[set](); +---- + +[.small]#link:#Access-set-0[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Access-set-1-int[set](int n); +---- + +[.small]#link:#Access-set-1-int[_» more..._]# + +[#Access-set-0] +== link:#Access[Access]::set + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +set(); +---- + +[#Access-set-1-int] +== link:#Access[Access]::set + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +set(int n); +---- + +[#Access-set-protected] +== link:#Access[Access]::set + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Access-set-1-char[set](char c); +---- + +[.small]#link:#Access-set-1-char[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Access-set-1-double[set](double d); +---- + +[.small]#link:#Access-set-1-double[_» more..._]# + +[#Access-set-1-char] +== link:#Access[Access]::set + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +set(char c); +---- + +[#Access-set-1-double] +== link:#Access[Access]::set + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +set(double d); +---- + +[#Adjusted] +== Adjusted + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Adjusted; +---- + +=== Member Functions + +[cols="1"] +|=== +| Name +| link:#Adjusted-call[`call`] +| link:#Adjusted-fill[`fill`] +| link:#Adjusted-pass[`pass`] +|=== + + +[#Adjusted-call] +== link:#Adjusted[Adjusted]::call + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Adjusted-call-1-int[call](int n); +---- + +[.small]#link:#Adjusted-call-1-int[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Adjusted-call-1-void-lparen-ptr-rparen-lparen-int-rparen[call](void f(int)); +---- + +[.small]#link:#Adjusted-call-1-void-lparen-ptr-rparen-lparen-int-rparen[_» more..._]# + +[#Adjusted-call-1-int] +== link:#Adjusted[Adjusted]::call + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +call(int n); +---- + +[#Adjusted-call-1-void-lparen-ptr-rparen-lparen-int-rparen] +== link:#Adjusted[Adjusted]::call + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +call(void f(int)); +---- + +[#Adjusted-fill] +== link:#Adjusted[Adjusted]::fill + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Adjusted-fill-1-char-ptr[fill](char* p); +---- + +[.small]#link:#Adjusted-fill-1-char-ptr[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Adjusted-fill-1-int-ptr[fill](int a[]); +---- + +[.small]#link:#Adjusted-fill-1-int-ptr[_» more..._]# + +[#Adjusted-fill-1-char-ptr] +== link:#Adjusted[Adjusted]::fill + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +fill(char* p); +---- + +[#Adjusted-fill-1-int-ptr] +== link:#Adjusted[Adjusted]::fill + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +fill(int a[]); +---- + +[#Adjusted-pass] +== link:#Adjusted[Adjusted]::pass + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Adjusted-pass-1-int[pass](int n); +---- + +[.small]#link:#Adjusted-pass-1-int[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Adjusted-pass-1-void-lparen-ptr-rparen-lparen-int-ptr-rparen[pass](void(* f)(int[])); +---- + +[.small]#link:#Adjusted-pass-1-void-lparen-ptr-rparen-lparen-int-ptr-rparen[_» more..._]# + +[#Adjusted-pass-1-int] +== link:#Adjusted[Adjusted]::pass + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +pass(int n); +---- + +[#Adjusted-pass-1-void-lparen-ptr-rparen-lparen-int-ptr-rparen] +== link:#Adjusted[Adjusted]::pass + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +pass(void(* f)(int[])); +---- + +[#Boundaries] +== Boundaries + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Boundaries; +---- + +=== Member Functions + +[cols="1"] +|=== +| Name +| link:#Boundaries-pick[`pick`] +|=== + + +[#Boundaries-pick] +== link:#Boundaries[Boundaries]::pick + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Boundaries-pick-2-long-comma-long-long[pick]( + long a, + long long b); +---- + +[.small]#link:#Boundaries-pick-2-long-comma-long-long[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Boundaries-pick-2-long-long-comma-long[pick]( + long long a, + long b); +---- + +[.small]#link:#Boundaries-pick-2-long-long-comma-long[_» more..._]# + +[#Boundaries-pick-2-long-comma-long-long] +== link:#Boundaries[Boundaries]::pick + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +pick( + long a, + long long b); +---- + +[#Boundaries-pick-2-long-long-comma-long] +== link:#Boundaries[Boundaries]::pick + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +pick( + long long a, + long b); +---- + +[#Box] +== Box + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<class T> +struct Box; +---- + +=== Specializations + +[cols="1"] +|=== +| Name +| link:#Box-1[`Box<char>`] +|=== + + +[#Box-1] +== link:#Box[Box]<char> + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<> +struct link:#Box[Box]<char>; +---- + +[#Exposed] +== Exposed + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Exposed; +---- + +=== Member Functions + +[cols="1"] +|=== +| Name +| link:#Exposed-get[`get`] +|=== + + +=== Protected Member Functions + +[cols="1"] +|=== +| Name +| link:#Exposed-get-protected[`get`] +|=== + + +[#Exposed-get] +== link:#Exposed[Exposed]::get + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +get(int n); +---- + +[#Exposed-get-protected] +== link:#Exposed[Exposed]::get + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Exposed-get-1-char[get](char c); +---- + +[.small]#link:#Exposed-get-1-char[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Exposed-get-1-double[get](double d); +---- + +[.small]#link:#Exposed-get-1-double[_» more..._]# + +[#Exposed-get-1-char] +== link:#Exposed[Exposed]::get + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +get(char c); +---- + +[#Exposed-get-1-double] +== link:#Exposed[Exposed]::get + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +get(double d); +---- + +[#Größe] +== Größe + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Größe; +---- + +[#Grüße] +== Grüße + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Grüße; +---- + +[#Guarded] +== Guarded + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Guarded; +---- + +=== Member Functions + +[cols="1"] +|=== +| Name +| link:#Guarded-foo[`foo`] +|=== + + +=== Protected Member Functions + +[cols="1"] +|=== +| Name +| link:#Guarded-foo-1[`foo`] +|=== + + +[#Guarded-foo] +== link:#Guarded[Guarded]::foo + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +foo(int n); +---- + +[#Guarded-foo-1] +== link:#Guarded[Guarded]::foo + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +foo(double d); +---- + +[#Holder] +== Holder + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<class T> +struct Holder; +---- + +=== Member Functions + +[cols="1,4"] +|=== +| Name| Description +| link:#Holder-2constructor[`Holder`] [.small]#[constructor]# +| Construct from `T` +|=== + + +=== Deduction Guides + +[cols="1"] +|=== +| Name +| link:#Holder-2guide-1-int[`Holder<long>`] +| link:#Holder-2guide-1-const-char-ptr[`Holder<char const*>`] +|=== + + +[#Holder-2constructor] +== link:#Holder[Holder]::Holder + +Construct from `T` + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +Holder(T value); +---- + +=== Parameters + +[cols="1,4"] +|=== +| Name| Description +| *value* +| The object to construct from +|=== + +[#Index-class] +== Index + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Index; +---- + +[#Key] +== Key + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<char C> +struct Key; +---- + +=== Specializations + +[cols="1"] +|=== +| Name +| link:#Key-1-quote-dollar-quote[`Key<'$'>`] +| link:#Key-1-quote-at-quote[`Key<'@'>`] +|=== + + +[#Key-1-quote-dollar-quote] +== link:#Key[Key]<'$'> + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<> +struct link:#Key[Key]<'$'>; +---- + +[#Key-1-quote-at-quote] +== link:#Key[Key]<'@'> + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<> +struct link:#Key[Key]<'@'>; +---- + +[#Many] +== Many + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<class... T> +struct Many; +---- + +[#Offset] +== Offset + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<int N> +struct Offset; +---- + +=== Specializations + +[cols="1"] +|=== +| Name +| link:#Offset-1-minus-1[`Offset<‐1>`] +| link:#Offset-1-1[`Offset<1>`] +|=== + + +[#Offset-1-minus-1] +== link:#Offset[Offset]<‐1> + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<> +struct link:#Offset[Offset]<‐1>; +---- + +[#Offset-1-1] +== link:#Offset[Offset]<1> + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<> +struct link:#Offset[Offset]<1>; +---- + +[#Pair] +== Pair + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template< + class T, + class U> +struct Pair; +---- + +=== Specializations + +[cols="1"] +|=== +| Name +| link:#Pair-2-int-comma-int[`Pair<int, int>`] +| link:#Pair-2-long-comma-long-long[`Pair<long, long long>`] +| link:#Pair-2-long-long-comma-long[`Pair<long long, long>`] +| link:#Pair-2-T-ptr-comma-T[`Pair<T*, T>`] +|=== + + +[#Pair-2-int-comma-int] +== link:#Pair[Pair]<int, int> + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<> +struct link:#Pair[Pair]<int, int>; +---- + +[#Pair-2-long-comma-long-long] +== link:#Pair[Pair]<long, long long> + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<> +struct link:#Pair[Pair]<long, long long>; +---- + +[#Pair-2-long-long-comma-long] +== link:#Pair[Pair]<long long, long> + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<> +struct link:#Pair[Pair]<long long, long>; +---- + +[#Pair-2-T-ptr-comma-T] +== link:#Pair[Pair]<T*, T> + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<class T> +struct link:#Pair[Pair]<T*, T>; +---- + +[#Punctuated] +== Punctuated + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Punctuated; +---- + +=== Member Functions + +[cols="1"] +|=== +| Name +| link:#Punctuated-nest[`nest`] +|=== + + +[#Punctuated-nest] +== link:#Punctuated[Punctuated]::nest + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Punctuated-nest-1-Many-lt-Many-lt-int-gt-comma-char-gt[nest](link:#Many[Many<Many<int>, char>]); +---- + +[.small]#link:#Punctuated-nest-1-Many-lt-Many-lt-int-gt-comma-char-gt[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Punctuated-nest-1-Many-lt-Many-lt-int-comma-char-gt-gt[nest](link:#Many[Many<Many<int, char>>]); +---- + +[.small]#link:#Punctuated-nest-1-Many-lt-Many-lt-int-comma-char-gt-gt[_» more..._]# + +[#Punctuated-nest-1-Many-lt-Many-lt-int-gt-comma-char-gt] +== link:#Punctuated[Punctuated]::nest + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +nest(link:#Many[Many<Many<int>, char>]); +---- + +[#Punctuated-nest-1-Many-lt-Many-lt-int-comma-char-gt-gt] +== link:#Punctuated[Punctuated]::nest + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +nest(link:#Many[Many<Many<int, char>>]); +---- + +[#Settings] +== Settings + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Settings; +---- + +=== Member Functions + +[cols="1,4"] +|=== +| Name| Description +| link:#Settings-apply[`apply`] +| +| link:#Settings-2conversion-h9cb96a3a[`operator Wrapper<a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor>`] +| Conversion to `Wrapper` +|=== + + +[#Settings-apply] +== link:#Settings[Settings]::apply + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Settings-apply-1-int[apply](int n); +---- + +[.small]#link:#Settings-apply-1-int[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Settings-apply-1-h6eb6be3f[apply](link:#a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor[a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor] const& p); +---- + +[.small]#link:#Settings-apply-1-h6eb6be3f[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Settings-apply-1-hd1fa4865[apply](link:#a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor[a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor]&& p); +---- + +[.small]#link:#Settings-apply-1-hd1fa4865[_» more..._]# + +[#Settings-apply-1-int] +== link:#Settings[Settings]::apply + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +apply(int n); +---- + +[#Settings-apply-1-h6eb6be3f] +== link:#Settings[Settings]::apply + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +apply(link:#a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor[a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor] const& p); +---- + +[#Settings-apply-1-hd1fa4865] +== link:#Settings[Settings]::apply + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +apply(link:#a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor[a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor]&& p); +---- + +[#Settings-2conversion-h9cb96a3a] +== link:#Settings[Settings]::operator link:#Wrapper[Wrapper<a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor>] + +Conversion to `Wrapper` + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +operator link:#Wrapper[Wrapper<a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor>](); +---- + +=== Return Value + +The object converted to `Wrapper` + +[#Shared] +== Shared + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Shared; +---- + +=== Member Functions + +[cols="1"] +|=== +| Name +| link:#Shared-bar[`bar`] +|=== + + +=== Static Member Functions + +[cols="1"] +|=== +| Name +| link:#Shared-bar-1[`bar`] +|=== + + +[#Shared-bar] +== link:#Shared[Shared]::bar + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +bar(int n); +---- + +[#Shared-bar-1] +== link:#Shared[Shared]::bar + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +static +void +bar(double d); +---- + +[#Sized] +== Sized + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Sized; +---- + +=== Member Functions + +[cols="1"] +|=== +| Name +| link:#Sized-scale[`scale`] +|=== + + +[#Sized-scale] +== link:#Sized[Sized]::scale + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Sized-scale-1-Größe[scale](link:#Größe[Größe]); +---- + +[.small]#link:#Sized-scale-1-Größe[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Sized-scale-1-Grüße[scale](link:#Grüße[Grüße]); +---- + +[.small]#link:#Sized-scale-1-Grüße[_» more..._]# + +[#Sized-scale-1-Größe] +== link:#Sized[Sized]::scale + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +scale(link:#Größe[Größe]); +---- + +[#Sized-scale-1-Grüße] +== link:#Sized[Sized]::scale + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +scale(link:#Grüße[Grüße]); +---- + +[#Widget] +== Widget + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct Widget; +---- + +=== Member Functions + +[cols="1,4"] +|=== +| Name| Description +| link:#Widget-at[`at`] +| +| link:#Widget-reset[`reset`] +| +| link:#Widget-resize[`resize`] +| +| link:#Widget-2conversion-bool[`operator bool`] +| Conversion to `bool` +| link:#Widget-2conversion-double[`operator double`] +| Conversion to `double` +| link:#Widget-2conversion-int[`operator int`] +| Conversion operators +|=== + + +[#Widget-at] +== link:#Widget[Widget]::at + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +int& +link:#Widget-at-1-int[at](int i); +---- + +[.small]#link:#Widget-at-1-int[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +int const& +link:#Widget-at-1-int-const[at](int i) const; +---- + +[.small]#link:#Widget-at-1-int-const[_» more..._]# + +[#Widget-at-1-int] +== link:#Widget[Widget]::at + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +int& +at(int i); +---- + +[#Widget-at-1-int-const] +== link:#Widget[Widget]::at + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +int const& +at(int i) const; +---- + +[#Widget-reset] +== link:#Widget[Widget]::reset + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Widget-reset-1-int-ptr-const[reset](int* p) const; +---- + +[.small]#link:#Widget-reset-1-int-ptr-const[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Widget-reset-1-int-ptr[reset](int const* p); +---- + +[.small]#link:#Widget-reset-1-int-ptr[_» more..._]# + +[#Widget-reset-1-int-ptr-const] +== link:#Widget[Widget]::reset + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +reset(int* p) const; +---- + +[#Widget-reset-1-int-ptr] +== link:#Widget[Widget]::reset + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +reset(int const* p); +---- + +[#Widget-resize] +== link:#Widget[Widget]::resize + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Widget-resize-0[resize](); +---- + +[.small]#link:#Widget-resize-0[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Widget-resize-1[resize](int n); +---- + +[.small]#link:#Widget-resize-1[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Widget-resize-2-double-comma-int[resize]( + double n, + int m); +---- + +[.small]#link:#Widget-resize-2-double-comma-int[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +link:#Widget-resize-2-int-comma-int[resize]( + int n, + int m); +---- + +[.small]#link:#Widget-resize-2-int-comma-int[_» more..._]# + +[#Widget-resize-0] +== link:#Widget[Widget]::resize + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +resize(); +---- + +[#Widget-resize-1] +== link:#Widget[Widget]::resize + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +resize(int n); +---- + +[#Widget-resize-2-double-comma-int] +== link:#Widget[Widget]::resize + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +resize( + double n, + int m); +---- + +[#Widget-resize-2-int-comma-int] +== link:#Widget[Widget]::resize + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +void +resize( + int n, + int m); +---- + +[#Widget-2conversion-bool] +== link:#Widget[Widget]::operator bool + +Conversion to `bool` + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +operator bool(); +---- + +=== Return Value + +The object converted to `bool` + +[#Widget-2conversion-double] +== link:#Widget[Widget]::operator double + +Conversion to `double` + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +operator double() const; +---- + +=== Return Value + +The object converted to `double` + +[#Widget-2conversion-int] +== link:#Widget[Widget]::operator int + +Conversion operators + +=== Synopses + +Declared in `<disambiguation.cpp>` + +Conversion to `int` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +operator int() const; +---- + +[.small]#link:#Widget-2conversion-int-0-const[_» more..._]# + +Conversion to `int` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +operator int(); +---- + +[.small]#link:#Widget-2conversion-int-0[_» more..._]# + +[#Widget-2conversion-int-0-const] +== link:#Widget[Widget]::operator int + +Conversion to `int` + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +operator int() const; +---- + +=== Return Value + +The object converted to `int` + +[#Widget-2conversion-int-0] +== link:#Widget[Widget]::operator int + +Conversion to `int` + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +operator int(); +---- + +=== Return Value + +The object converted to `int` + +[#Wrapper] +== Wrapper + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<class T> +struct Wrapper; +---- + +[#X] +== X + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct X; +---- + +[#a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor] +== a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor; +---- + +[#quantity] +== quantity + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct quantity; +---- + +[#stat] +== stat + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct stat; +---- + +[#make] +== make + +=== Synopses + +Declared in `<disambiguation.cpp>` + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<class T> +void +link:#make-0-t1[make](); +---- + +[.small]#link:#make-0-t1[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<> +void +link:#make-0-t0-char[make<char>](); +---- + +[.small]#link:#make-0-t0-char[_» more..._]# + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<> +void +link:#make-0-t0-int[make<int>](); +---- + +[.small]#link:#make-0-t0-int[_» more..._]# + +[#make-0-t1] +== make + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<class T> +void +make(); +---- + +=== Specializations + +[cols="1"] +|=== +| Name +| link:#make-0-t0-char[`make<char>`] +| link:#make-0-t0-int[`make<int>`] +|=== + + +[#make-0-t0-char] +== link:#make-0-t1[make]<char> + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<> +void +link:#make-0-t1[make]<char>(); +---- + +[#make-0-t0-int] +== link:#make-0-t1[make]<int> + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<> +void +link:#make-0-t1[make]<int>(); +---- + +[#stat-2function] +== stat + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +int +stat( + char const* path, + link:#stat[stat]* buf); +---- + +[#Quantity-concept] +== Quantity + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<class T> +concept Quantity = true; +---- + +[#Holder-2guide-1-int] +== link:#Holder[Holder<long>] + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +link:#Holder[Holder<long>](int) -> link:#Holder[Holder<long>]; +---- + +[#Holder-2guide-1-const-char-ptr] +== link:#Holder[Holder<char const*>] + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +link:#Holder[Holder<char const*>](char const*) -> link:#Holder[Holder<char const*>]; +---- + +[#X-using] +== X + +=== Synopsis + +Declared in `<disambiguation.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +using N::X; +---- + +=== Introduced Symbols + +[cols="1"] +|=== +| Name +| link:#N-X[`X`] +|=== + + +[.small]#Created with https://www.mrdocs.com[MrDocs]# diff --git a/tests/golden/fixtures/config/legible-names/disambiguation.cpp b/tests/golden/fixtures/config/legible-names/disambiguation.cpp new file mode 100644 index 00000000000..00cfa8deeff --- /dev/null +++ b/tests/golden/fixtures/config/legible-names/disambiguation.cpp @@ -0,0 +1,241 @@ +// Members that share a name get anchors that tell them apart by their +// kind and by their signature, not by their symbol IDs. + +// The overload set keeps the plain name, and each function adds the +// number of its parameters, then their types and its qualifiers, as far +// as it needs to. +struct Widget +{ + void resize(); + void resize(int n); + void resize(int n, int m); + void resize(double n, int m); + + int& at(int i); + int const& at(int i) const; + + // A top-level `const` on a parameter is not part of the function's + // type, so it is not spelled, and does not make the first overload + // spell like the second. + void reset(int* const p); + void reset(int* p) const; + + // A conversion function is named after the type it converts to, and + // conversions to one type form an overload set like other functions. + operator int() const; + operator int(); + operator double() const; + operator bool(); +}; + +// Of the overload sets of one name that a class splits by access, the +// public one keeps the plain name, and the protected one adds its access. +struct Access +{ + void set(); + void set(int n); + +protected: + void set(double d); + void set(char c); +}; + +// Access comes first: a public function with no public overloads keeps +// the plain name next to a protected overload set, which adds its access. +struct Exposed +{ + void get(int n); + +protected: + void get(double d); + void get(char c); +}; + +// Of two functions of one name that a class splits by access, neither +// with an overload in its access, the public one keeps the plain name, +// and the protected one adds the number of its parameters. +struct Guarded +{ + void foo(int n); + +protected: + void foo(double d); +}; + +// Of two functions of one name with the same access, one static and one +// not, neither with an overload, the non-static one keeps the plain name. +struct Shared +{ + void bar(int n); + + static void bar(double d); +}; + +struct a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor {}; + +template +struct Wrapper {}; + +// An overload whose spelled signature is too long for an anchor adds a +// hash of the signature in its place, and a conversion function whose +// target type is too long to spell adds a hash of the type after +// `2conversion`. +struct Settings +{ + void apply(int n); + void apply( + a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor const& p); + void apply( + a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor&& p); + + operator Wrapper(); +}; + +// The primary template keeps the plain name, and each specialization +// adds the number of its template arguments, then the arguments. +template +struct Pair {}; + +template <> +struct Pair {}; + +template +struct Pair {}; + +template +struct Box {}; + +template <> +struct Box {}; + +// Parameters, like template arguments, are separated by `comma`, so that +// two lists whose types differ only in where one of them ends do not +// spell alike. +struct Boundaries +{ + void pick(long a, long long b); + void pick(long long a, long b); +}; + +template <> +struct Pair {}; + +template <> +struct Pair {}; + +// A specialization of a function template adds its template arguments +// when nothing else tells it apart. +template +void make(); + +template <> +void make(); + +template <> +void make(); + +// Every punctuation character is spelled, so a negative argument does not +// spell like a positive one, character arguments do not spell alike, and +// template arguments keep their nesting. +template +struct Offset {}; + +template <> +struct Offset<-1> {}; + +template <> +struct Offset<1> {}; + +template +struct Key {}; + +template <> +struct Key<'$'> {}; + +template <> +struct Key<'@'> {}; + +template +struct Many {}; + +struct Punctuated +{ + void nest(Many, char>); + void nest(Many>); +}; + +// An identifier outside ASCII is spelled whole. +struct Größe {}; + +struct Grüße {}; + +struct Sized +{ + void scale(Größe); + void scale(Grüße); +}; + +// A parameter declared as an array or as a function is spelled as the +// pointer it is adjusted to, which is its type in the function's type, +// also when it is a parameter of a function type a parameter is built +// from. +struct Adjusted +{ + void fill(int a[3]); + void fill(char* p); + + void call(void f(int)); + void call(int n); + + void pass(void (*f)(int a[3])); + void pass(int n); +}; + +// Between kinds, the class keeps the plain name: a concept whose name +// differs only in case, a function and deduction guides add the word of +// their kind. +struct quantity {}; + +template +concept Quantity = true; + +struct stat {}; + +int stat(char const* path, struct stat* buf); + +template +struct Holder +{ + Holder(T); +}; + +Holder(char const*) -> Holder; + +Holder(int) -> Holder; + +// The global namespace keeps the name `index`, so a struct whose name +// differs from it only in case adds `class`, the word of every record. +struct Index {}; + +// A namespace keeps the plain name, and a namespace alias whose name +// differs from it only in case adds `2namespace-alias`. +namespace Region +{ +struct Area {}; +} + +namespace region = Region; + +// A class keeps the plain name; an alias-declaration whose name differs +// only in case from the class, and a using-declaration of the class's +// own name, add different words. +namespace N +{ +void X(); +} + +struct X {}; + +using x = int; + +using N::X; diff --git a/tests/golden/fixtures/config/legible-names/disambiguation.xml b/tests/golden/fixtures/config/legible-names/disambiguation.xml new file mode 100644 index 00000000000..9f044b2827f --- /dev/null +++ b/tests/golden/fixtures/config/legible-names/disambiguation.xml @@ -0,0 +1,4537 @@ + + + + index + namespace + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + regular + + 3RnCpjXqT9XkHX6pwCXim3WgD44Q 2Njt5TmsNbXSDWVCAUVZTANqRdT6 + 33Y6VdNzGvpN3TohfbZco5mA2bLi + 3bTa6hZH47eKcEmtzUEw1Us7DSPL + 2aBcJkTmjhBkR2T3iCLY4tJRBtRN 39CmxvTiV9796y615BiaBDS3WHNd 3G3nU3RH8mXfpXJvDUaHmt9rpkLt LJ1yt2sfDsAj17Xjh5m3tdhrWGt NTPFVZjKAjhERVprgwe1D54Nq4W 3p64NZpsvpCSrpYnjgybEy3jzj96 4YrxkDkvjEXpj9JaK4KE39pxfygZ 4GxKQBf3wt9aDZsbafDH9ATjGPFL 28rsf6rF9B46B6aJ5dC5aeyE2VwP 21Yh5PF5ewVmWeNR3NwSbcFHNTrQ 2TLPFWofGKQRmTUdMCbJoKrfZBca 2fudN41QzAKLTaC7xft1Lm5itR9Z 2SVVHU9o2gQVPbasgu36wTAubhdd 2xWCn1JE1EuYxybYix2MfmRKhn9W 2c7kqikbVP78czFBcijY9ub5dJeH 4GHG5X1Zxk32PmLpjC3SWNYur4er 29stsLGWN57mJzMBw42vkNwYMdhK jSXsqs3Ve6P41VGbPxCumJ7RfuL 2yktL3JDnf69do3bumiUwB2UdYqf kwpnL1koP5nNRsobKe5wkNTGXUP 3i5JTiYLyzQZjti8D8m8AnqFRUQJ 2THV1rPzLhbzYPCdF6kWzr8b11rP 4NmqQG4ksd9wcYq4m62yWtxpFJAW 3Dc8HGWpux5m8xird4KKf6RLPvSc 2JjwUMjb4FpMYxMm9iWd3sz1ip9W 2TgqbCtH8p71Wa4FpDEvaekNZhpw b9MAdvy2XwoDLqWgg2ZFWkShmuq 4STgDrwLeHv7mqV5anD6cJEd6K4T 4JZQEEn4kfMSM2zWqmMKSH3X4FNy 3pckmfiVbXAYjwBs44JCuEmQATU1 2qkvfo6sMXGL7B6qCweBGadGrHVd 33eB6EXuS9cfn9ZPnZpZYtkw1Z4k 4QcXBaguRn8ZkQ4p6Vm9UMTghCCt + 4JXo7G62Sr4wya5jdLR9bofqcd76 2sCaE5gRv6nNHhqehP9TR8AcaC6n + fHqkeF1qQtJAUNmQ776a3ocAUKF + 2BuhVGU6opJQiJo2RW6kMFAxxMfY 4GRDyApoq5SwT7WfWjH5QBDony26 + 327WmbvPy2P7iiF6o8goG4Am7nq7 + + + + N + N + + + + disambiguation.cpp + disambiguation.cpp + 232 + 1 + + + + namespace + 3RnCpjXqT9XkHX6pwCXim3WgD44Q + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + 2JUC9WPphSr9b41QJqpRi5oBJ6cn + + + + X + X + + + + disambiguation.cpp + disambiguation.cpp + 234 + 1 + + + + function + 2JUC9WPphSr9b41QJqpRi5oBJ6cn + regular + 3RnCpjXqT9XkHX6pwCXim3WgD44Q + + + named + + + identifier + void + + + void + + + normal + + + Region + Region + + + + disambiguation.cpp + disambiguation.cpp + 222 + 1 + + + + namespace + 2Njt5TmsNbXSDWVCAUVZTANqRdT6 + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + 356QXXTJEi3VPQJT5G85KchntPAh + + + + Area + Area + + + disambiguation.cpp + disambiguation.cpp + 224 + 1 + + + record + 356QXXTJEi3VPQJT5G85KchntPAh + regular + 2Njt5TmsNbXSDWVCAUVZTANqRdT6 + struct + + + region + region-2namespace-alias + + + + disambiguation.cpp + disambiguation.cpp + 227 + 1 + + + + namespace-alias + 33Y6VdNzGvpN3TohfbZco5mA2bLi + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + identifier + 2Njt5TmsNbXSDWVCAUVZTANqRdT6 + Region + + + + x + x-typedef + + + + disambiguation.cpp + disambiguation.cpp + 239 + 1 + + + + typedef + 3bTa6hZH47eKcEmtzUEw1Us7DSPL + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + + named + + + identifier + int + + + int + + + + + + Access + Access + + + disambiguation.cpp + disambiguation.cpp + 33 + 1 + + + record + 2aBcJkTmjhBkR2T3iCLY4tJRBtRN + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + 4PvG6TeN7c6NT814U7uYgRUsw7Ub + + + 3kXwZehSApVZKdAU6tvoqWm7u4iZ + + + + + set + set + + + + disambiguation.cpp + disambiguation.cpp + 35 + 5 + + + disambiguation.cpp + disambiguation.cpp + 36 + 5 + + + + overloads + 4PvG6TeN7c6NT814U7uYgRUsw7Ub + public + regular + 2aBcJkTmjhBkR2T3iCLY4tJRBtRN + normal + 4ECcZgXmz2CWEmXCNFFKDt8WXeJo 32GoPkzfEoZ1uSLB2B6C3c8Xh7bp + + + named + + + identifier + void + + + void + + + + + set + set-0 + + + + disambiguation.cpp + disambiguation.cpp + 35 + 5 + + + + function + 4ECcZgXmz2CWEmXCNFFKDt8WXeJo + public + regular + 2aBcJkTmjhBkR2T3iCLY4tJRBtRN + + + named + + + identifier + void + + + void + + + normal + + + + set + set-1-int + + + + disambiguation.cpp + disambiguation.cpp + 36 + 5 + + + + function + 32GoPkzfEoZ1uSLB2B6C3c8Xh7bp + public + regular + 2aBcJkTmjhBkR2T3iCLY4tJRBtRN + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + + set + set-protected + + + + disambiguation.cpp + disambiguation.cpp + 39 + 5 + + + disambiguation.cpp + disambiguation.cpp + 40 + 5 + + + + overloads + 3kXwZehSApVZKdAU6tvoqWm7u4iZ + protected + regular + 2aBcJkTmjhBkR2T3iCLY4tJRBtRN + normal + 8f51r1aBpDf9oDtgF6G2E8eErrv UpCFdF1hBhrmAaPx1QvByNf6PUW + + + named + + + identifier + void + + + void + + + + + set + set-1-char + + + + disambiguation.cpp + disambiguation.cpp + 40 + 5 + + + + function + 8f51r1aBpDf9oDtgF6G2E8eErrv + protected + regular + 2aBcJkTmjhBkR2T3iCLY4tJRBtRN + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + char + + + char + + + c + + + normal + + + + set + set-1-double + + + + disambiguation.cpp + disambiguation.cpp + 39 + 5 + + + + function + UpCFdF1hBhrmAaPx1QvByNf6PUW + protected + regular + 2aBcJkTmjhBkR2T3iCLY4tJRBtRN + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + d + + + normal + + + + Adjusted + Adjusted + + + disambiguation.cpp + disambiguation.cpp + 182 + 1 + + + record + 39CmxvTiV9796y615BiaBDS3WHNd + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + hqcrBzAUTvv857DCPPawiiXbeip oPyzKXTvQ4WajRoeL72G8KXmL8L 3HbXjVnBDu46eBZ9svYzLezgm5H + + + + + call + call + + + + disambiguation.cpp + disambiguation.cpp + 187 + 5 + + + disambiguation.cpp + disambiguation.cpp + 188 + 5 + + + + overloads + hqcrBzAUTvv857DCPPawiiXbeip + public + regular + 39CmxvTiV9796y615BiaBDS3WHNd + normal + 2wpBJLmAfWPjqXe89tw4bHM5paEE 3NqXMncm7aDPQf8isjukEqMBEKA9 + + + named + + + identifier + void + + + void + + + + + call + call-1-int + + + + disambiguation.cpp + disambiguation.cpp + 188 + 5 + + + + function + 2wpBJLmAfWPjqXe89tw4bHM5paEE + public + regular + 39CmxvTiV9796y615BiaBDS3WHNd + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + + call + call-1-void-lparen-ptr-rparen-lparen-int-rparen + + + + disambiguation.cpp + disambiguation.cpp + 187 + 5 + + + + function + 3NqXMncm7aDPQf8isjukEqMBEKA9 + public + regular + 39CmxvTiV9796y615BiaBDS3WHNd + + + named + + + identifier + void + + + void + + + + + + + function + + + named + + + identifier + void + + + void + + + + + named + + + identifier + int + + + int + + + + + f + + + normal + + + + fill + fill + + + + disambiguation.cpp + disambiguation.cpp + 184 + 5 + + + disambiguation.cpp + disambiguation.cpp + 185 + 5 + + + + overloads + oPyzKXTvQ4WajRoeL72G8KXmL8L + public + regular + 39CmxvTiV9796y615BiaBDS3WHNd + normal + 3qDXjyJTrmYCyZhMa9D4dCUh2Ncb 2ev7w7x2RN3rvG5PPfUtTqfLkKSE + + + named + + + identifier + void + + + void + + + + + fill + fill-1-char-ptr + + + + disambiguation.cpp + disambiguation.cpp + 185 + 5 + + + + function + 3qDXjyJTrmYCyZhMa9D4dCUh2Ncb + public + regular + 39CmxvTiV9796y615BiaBDS3WHNd + + + named + + + identifier + void + + + void + + + + + + + pointer + + + named + + + identifier + char + + + char + + + + + p + + + normal + + + + fill + fill-1-int-ptr + + + + disambiguation.cpp + disambiguation.cpp + 184 + 5 + + + + function + 2ev7w7x2RN3rvG5PPfUtTqfLkKSE + public + regular + 39CmxvTiV9796y615BiaBDS3WHNd + + + named + + + identifier + void + + + void + + + + + + + array + + + named + + + identifier + int + + + int + + + + + a + + + normal + + + + pass + pass + + + + disambiguation.cpp + disambiguation.cpp + 190 + 5 + + + disambiguation.cpp + disambiguation.cpp + 191 + 5 + + + + overloads + 3HbXjVnBDu46eBZ9svYzLezgm5H + public + regular + 39CmxvTiV9796y615BiaBDS3WHNd + normal + 2uhqReqRvS9CwuxHnPsageveDfiH 2sbSXe5MrJqhhNwAYpB7uWPYEW2t + + + named + + + identifier + void + + + void + + + + + pass + pass-1-int + + + + disambiguation.cpp + disambiguation.cpp + 191 + 5 + + + + function + 2uhqReqRvS9CwuxHnPsageveDfiH + public + regular + 39CmxvTiV9796y615BiaBDS3WHNd + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + + pass + pass-1-void-lparen-ptr-rparen-lparen-int-ptr-rparen + + + + disambiguation.cpp + disambiguation.cpp + 190 + 5 + + + + function + 2sbSXe5MrJqhhNwAYpB7uWPYEW2t + public + regular + 39CmxvTiV9796y615BiaBDS3WHNd + + + named + + + identifier + void + + + void + + + + + + + pointer + + + function + + + named + + + identifier + void + + + void + + + + + array + + + named + + + identifier + int + + + int + + + + + + + + + f + + + normal + + + + Boundaries + Boundaries + + + disambiguation.cpp + disambiguation.cpp + 114 + 1 + + + record + 3G3nU3RH8mXfpXJvDUaHmt9rpkLt + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + 2TNexA352monWenevApAUZXsuCr5 + + + + + pick + pick + + + + disambiguation.cpp + disambiguation.cpp + 116 + 5 + + + disambiguation.cpp + disambiguation.cpp + 117 + 5 + + + + overloads + 2TNexA352monWenevApAUZXsuCr5 + public + regular + 3G3nU3RH8mXfpXJvDUaHmt9rpkLt + normal + 4WsPAExvGEbfkR8pSJinmGVAcrgk YS6eozEM76o3qiJYzeJtmWuobez + + + named + + + identifier + void + + + void + + + + + pick + pick-2-long-comma-long-long + + + + disambiguation.cpp + disambiguation.cpp + 116 + 5 + + + + function + 4WsPAExvGEbfkR8pSJinmGVAcrgk + public + regular + 3G3nU3RH8mXfpXJvDUaHmt9rpkLt + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + long + + + long + + + a + + + + + named + + + identifier + long long + + + long long + + + b + + + normal + + + + pick + pick-2-long-long-comma-long + + + + disambiguation.cpp + disambiguation.cpp + 117 + 5 + + + + function + YS6eozEM76o3qiJYzeJtmWuobez + public + regular + 3G3nU3RH8mXfpXJvDUaHmt9rpkLt + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + long long + + + long long + + + a + + + + + named + + + identifier + long + + + long + + + b + + + normal + + + + Box + Box + + + disambiguation.cpp + disambiguation.cpp + 105 + 1 + + + record + LJ1yt2sfDsAj17Xjh5m3tdhrWGt + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + NTPFVZjKAjhERVprgwe1D54Nq4W + + + Box + Box-1 + + + disambiguation.cpp + disambiguation.cpp + 109 + 1 + + + record + NTPFVZjKAjhERVprgwe1D54Nq4W + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + + + Exposed + Exposed + + + disambiguation.cpp + disambiguation.cpp + 45 + 1 + + + record + 3p64NZpsvpCSrpYnjgybEy3jzj96 + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + oMkU37TpQZcVGwucVMXhJPXJFRg + + + 3VNH2CsEmZ5UUJHgLvowkZtwCJgb + + + + + get + get + + + + disambiguation.cpp + disambiguation.cpp + 47 + 5 + + + + function + oMkU37TpQZcVGwucVMXhJPXJFRg + public + regular + 3p64NZpsvpCSrpYnjgybEy3jzj96 + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + + get + get-protected + + + + disambiguation.cpp + disambiguation.cpp + 50 + 5 + + + disambiguation.cpp + disambiguation.cpp + 51 + 5 + + + + overloads + 3VNH2CsEmZ5UUJHgLvowkZtwCJgb + protected + regular + 3p64NZpsvpCSrpYnjgybEy3jzj96 + normal + JQixgDhmYhv1nxbFhsq48nFDyY3 3PxYJnAJnGEc9yopwoWqLDmwA9Jd + + + named + + + identifier + void + + + void + + + + + get + get-1-char + + + + disambiguation.cpp + disambiguation.cpp + 51 + 5 + + + + function + JQixgDhmYhv1nxbFhsq48nFDyY3 + protected + regular + 3p64NZpsvpCSrpYnjgybEy3jzj96 + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + char + + + char + + + c + + + normal + + + + get + get-1-double + + + + disambiguation.cpp + disambiguation.cpp + 50 + 5 + + + + function + 3PxYJnAJnGEc9yopwoWqLDmwA9Jd + protected + regular + 3p64NZpsvpCSrpYnjgybEy3jzj96 + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + d + + + normal + + + + Größe + Größe + + + disambiguation.cpp + disambiguation.cpp + 168 + 1 + + + record + 4YrxkDkvjEXpj9JaK4KE39pxfygZ + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + Grüße + Grüße + + + disambiguation.cpp + disambiguation.cpp + 170 + 1 + + + record + 4GxKQBf3wt9aDZsbafDH9ATjGPFL + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + Guarded + Guarded + + + disambiguation.cpp + disambiguation.cpp + 57 + 1 + + + record + 28rsf6rF9B46B6aJ5dC5aeyE2VwP + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + xDwk4DqBd5Va5dzwczic7nZRt8K + + + 3DPqWFpvyUfcS3F7KwqNfx1xMPBF + + + + + foo + foo + + + + disambiguation.cpp + disambiguation.cpp + 59 + 5 + + + + function + xDwk4DqBd5Va5dzwczic7nZRt8K + public + regular + 28rsf6rF9B46B6aJ5dC5aeyE2VwP + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + + foo + foo-1 + + + + disambiguation.cpp + disambiguation.cpp + 62 + 5 + + + + function + 3DPqWFpvyUfcS3F7KwqNfx1xMPBF + protected + regular + 28rsf6rF9B46B6aJ5dC5aeyE2VwP + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + d + + + normal + + + + Holder + Holder + + + disambiguation.cpp + disambiguation.cpp + 206 + 1 + + + record + 21Yh5PF5ewVmWeNR3NwSbcFHNTrQ + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + + 3QpSZ5a2LUrdAmnkKk7eAyBVRDi1 + + + 2BuhVGU6opJQiJo2RW6kMFAxxMfY 4GRDyApoq5SwT7WfWjH5QBDony26 + + + Holder + 2constructor + + + + disambiguation.cpp + disambiguation.cpp + 209 + 5 + + + + function + 3QpSZ5a2LUrdAmnkKk7eAyBVRDi1 + public + regular + 21Yh5PF5ewVmWeNR3NwSbcFHNTrQ + + + brief + + + text + Construct from + + + code + + + text + T + + + + + + + + param + + + text + The object to construct from + + + value + + + + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + T + + + + + value + + + constructor + + + + Index + Index-class + + + disambiguation.cpp + disambiguation.cpp + 218 + 1 + + + record + 2TLPFWofGKQRmTUdMCbJoKrfZBca + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + Key + Key + + + disambiguation.cpp + disambiguation.cpp + 149 + 1 + + + record + 2fudN41QzAKLTaC7xft1Lm5itR9Z + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + 2SVVHU9o2gQVPbasgu36wTAubhdd 2xWCn1JE1EuYxybYix2MfmRKhn9W + + + Key + Key-1-quote-dollar-quote + + + disambiguation.cpp + disambiguation.cpp + 153 + 1 + + + record + 2SVVHU9o2gQVPbasgu36wTAubhdd + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + + + Key + Key-1-quote-at-quote + + + disambiguation.cpp + disambiguation.cpp + 156 + 1 + + + record + 2xWCn1JE1EuYxybYix2MfmRKhn9W + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + + + Many + Many + + + disambiguation.cpp + disambiguation.cpp + 158 + 1 + + + record + 2c7kqikbVP78czFBcijY9ub5dJeH + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + + Offset + Offset + + + disambiguation.cpp + disambiguation.cpp + 140 + 1 + + + record + 4GHG5X1Zxk32PmLpjC3SWNYur4er + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + 29stsLGWN57mJzMBw42vkNwYMdhK jSXsqs3Ve6P41VGbPxCumJ7RfuL + + + Offset + Offset-1-minus-1 + + + disambiguation.cpp + disambiguation.cpp + 144 + 1 + + + record + 29stsLGWN57mJzMBw42vkNwYMdhK + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + + + Offset + Offset-1-1 + + + disambiguation.cpp + disambiguation.cpp + 147 + 1 + + + record + jSXsqs3Ve6P41VGbPxCumJ7RfuL + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + + + Pair + Pair + + + disambiguation.cpp + disambiguation.cpp + 96 + 1 + + + record + 2yktL3JDnf69do3bumiUwB2UdYqf + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + kwpnL1koP5nNRsobKe5wkNTGXUP 3i5JTiYLyzQZjti8D8m8AnqFRUQJ 2THV1rPzLhbzYPCdF6kWzr8b11rP 4NmqQG4ksd9wcYq4m62yWtxpFJAW + + + Pair + Pair-2-int-comma-int + + + disambiguation.cpp + disambiguation.cpp + 100 + 1 + + + record + kwpnL1koP5nNRsobKe5wkNTGXUP + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + + + Pair + Pair-2-long-comma-long-long + + + disambiguation.cpp + disambiguation.cpp + 121 + 1 + + + record + 3i5JTiYLyzQZjti8D8m8AnqFRUQJ + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + + + Pair + Pair-2-long-long-comma-long + + + disambiguation.cpp + disambiguation.cpp + 124 + 1 + + + record + 2THV1rPzLhbzYPCdF6kWzr8b11rP + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + + + Pair + Pair-2-T-ptr-comma-T + + + disambiguation.cpp + disambiguation.cpp + 103 + 1 + + + record + 4NmqQG4ksd9wcYq4m62yWtxpFJAW + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + + + Punctuated + Punctuated + + + disambiguation.cpp + disambiguation.cpp + 161 + 1 + + + record + 3Dc8HGWpux5m8xird4KKf6RLPvSc + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + 35oymWeEQ2QZYYwTyvsNr5V13amu + + + + + nest + nest + + + + disambiguation.cpp + disambiguation.cpp + 163 + 5 + + + disambiguation.cpp + disambiguation.cpp + 164 + 5 + + + + overloads + 35oymWeEQ2QZYYwTyvsNr5V13amu + public + regular + 3Dc8HGWpux5m8xird4KKf6RLPvSc + normal + 2fDwjxmcGZ4HHypLZD6dYHhFMN2e 2U2CQ3SRoosA9TbR12Mw1Pu914JX + + + named + + + identifier + void + + + void + + + + + nest + nest-1-Many-lt-Many-lt-int-gt-comma-char-gt + + + + disambiguation.cpp + disambiguation.cpp + 163 + 5 + + + + function + 2fDwjxmcGZ4HHypLZD6dYHhFMN2e + public + regular + 3Dc8HGWpux5m8xird4KKf6RLPvSc + + + named + + + identifier + void + + + void + + + + + + + named + + + specialization + 2c7kqikbVP78czFBcijY9ub5dJeH + Many + + + type + + + named + + + specialization + 2c7kqikbVP78czFBcijY9ub5dJeH + Many + + + type + + + named + + + identifier + int + + + int + + + + + + + + + + + type + + + named + + + identifier + char + + + char + + + + + + + + + + + normal + + + + nest + nest-1-Many-lt-Many-lt-int-comma-char-gt-gt + + + + disambiguation.cpp + disambiguation.cpp + 164 + 5 + + + + function + 2U2CQ3SRoosA9TbR12Mw1Pu914JX + public + regular + 3Dc8HGWpux5m8xird4KKf6RLPvSc + + + named + + + identifier + void + + + void + + + + + + + named + + + specialization + 2c7kqikbVP78czFBcijY9ub5dJeH + Many + + + type + + + named + + + specialization + 2c7kqikbVP78czFBcijY9ub5dJeH + Many + + + type + + + named + + + identifier + int + + + int + + + + + type + + + named + + + identifier + char + + + char + + + + + + + + + + + + + + + + + normal + + + + Settings + Settings + + + disambiguation.cpp + disambiguation.cpp + 83 + 1 + + + record + 2JjwUMjb4FpMYxMm9iWd3sz1ip9W + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + 28EDZTCPQjtg3Xb4Rr1ZUN7JHRoH 2EFuU3XiWVwHrH9Xq5NPkbLZnco5 + + + + + apply + apply + + + + disambiguation.cpp + disambiguation.cpp + 85 + 5 + + + disambiguation.cpp + disambiguation.cpp + 86 + 5 + + + disambiguation.cpp + disambiguation.cpp + 88 + 5 + + + + overloads + 28EDZTCPQjtg3Xb4Rr1ZUN7JHRoH + public + regular + 2JjwUMjb4FpMYxMm9iWd3sz1ip9W + normal + Y7cd5Q6ida3Wg4GxuJ5Qm9NQoEW 36kKzzeu2c5KW8esNjWs7qjcAiCy 3rQY6z5Jm71WbpeNHAP5tWrAjnrP + + + named + + + identifier + void + + + void + + + + + apply + apply-1-int + + + + disambiguation.cpp + disambiguation.cpp + 85 + 5 + + + + function + Y7cd5Q6ida3Wg4GxuJ5Qm9NQoEW + public + regular + 2JjwUMjb4FpMYxMm9iWd3sz1ip9W + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + + apply + apply-1-h6eb6be3f + + + + disambiguation.cpp + disambiguation.cpp + 86 + 5 + + + + function + 36kKzzeu2c5KW8esNjWs7qjcAiCy + public + regular + 2JjwUMjb4FpMYxMm9iWd3sz1ip9W + + + named + + + identifier + void + + + void + + + + + + + lvalue-reference + + + named + + + + identifier + 2qkvfo6sMXGL7B6qCweBGadGrHVd + a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor + + + + + + + p + + + normal + + + + apply + apply-1-hd1fa4865 + + + + disambiguation.cpp + disambiguation.cpp + 88 + 5 + + + + function + 3rQY6z5Jm71WbpeNHAP5tWrAjnrP + public + regular + 2JjwUMjb4FpMYxMm9iWd3sz1ip9W + + + named + + + identifier + void + + + void + + + + + + + rvalue-reference + + + named + + + identifier + 2qkvfo6sMXGL7B6qCweBGadGrHVd + a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor + + + + + + + p + + + normal + + + + operator Wrapper<a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor> + 2conversion-h9cb96a3a + + + + disambiguation.cpp + disambiguation.cpp + 91 + 5 + + + + function + 2EFuU3XiWVwHrH9Xq5NPkbLZnco5 + public + regular + 2JjwUMjb4FpMYxMm9iWd3sz1ip9W + + + brief + + + text + Conversion to + + + code + + + text + Wrapper + + + + + + + + returns + + + text + The object converted to + + + code + + + text + Wrapper + + + + + + + + + + named + + + specialization + 4JZQEEn4kfMSM2zWqmMKSH3X4FNy + Wrapper + + + type + + + named + + + identifier + 2qkvfo6sMXGL7B6qCweBGadGrHVd + a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor + + + + + + + + + + + conversion + + + + Shared + Shared + + + disambiguation.cpp + disambiguation.cpp + 67 + 1 + + + record + 2TgqbCtH8p71Wa4FpDEvaekNZhpw + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + 3neHQyhgVraNWYCsPCqwewc3MVZy + 2ia8bqTEU799Uc155xp17cDusUC3 + + + + + bar + bar + + + + disambiguation.cpp + disambiguation.cpp + 69 + 5 + + + + function + 3neHQyhgVraNWYCsPCqwewc3MVZy + public + regular + 2TgqbCtH8p71Wa4FpDEvaekNZhpw + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + + bar + bar-1 + + + + disambiguation.cpp + disambiguation.cpp + 71 + 5 + + + + function + 2ia8bqTEU799Uc155xp17cDusUC3 + public + regular + 2TgqbCtH8p71Wa4FpDEvaekNZhpw + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + d + + + normal + static + + + + Sized + Sized + + + disambiguation.cpp + disambiguation.cpp + 172 + 1 + + + record + b9MAdvy2XwoDLqWgg2ZFWkShmuq + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + 2EJfcUfqxr6nN1zf9MvXj8eSi8qr + + + + + scale + scale + + + + disambiguation.cpp + disambiguation.cpp + 174 + 5 + + + disambiguation.cpp + disambiguation.cpp + 175 + 5 + + + + overloads + 2EJfcUfqxr6nN1zf9MvXj8eSi8qr + public + regular + b9MAdvy2XwoDLqWgg2ZFWkShmuq + normal + 7FajkyPMnEX4VQh64A4zfCgb4yx 4Fb9feWc4uu8CZUYnavsorgGMbYZ + + + named + + + identifier + void + + + void + + + + + scale + scale-1-Größe + + + + disambiguation.cpp + disambiguation.cpp + 174 + 5 + + + + function + 7FajkyPMnEX4VQh64A4zfCgb4yx + public + regular + b9MAdvy2XwoDLqWgg2ZFWkShmuq + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + 4YrxkDkvjEXpj9JaK4KE39pxfygZ + Größe + + + + + + + normal + + + + scale + scale-1-Grüße + + + + disambiguation.cpp + disambiguation.cpp + 175 + 5 + + + + function + 4Fb9feWc4uu8CZUYnavsorgGMbYZ + public + regular + b9MAdvy2XwoDLqWgg2ZFWkShmuq + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + 4GxKQBf3wt9aDZsbafDH9ATjGPFL + Grüße + + + + + + + normal + + + + Widget + Widget + + + disambiguation.cpp + disambiguation.cpp + 7 + 1 + + + record + 4STgDrwLeHv7mqV5anD6cJEd6K4T + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + QPbiMBjqDYFDcLznmL7gAovCh8A 2VAGZMQpGQKeXrwG3XTFuzdX24gX 237BNzb1ToM6truyZoubRDvGNrjz Tpq2u3bVjTNS4USEWiCK8ffCsL7 4LPRQU1SXSViqbvMcZAKCmJTrSSG 7AUs7eZHh4jSuehBH6GBBNCx1FT + + + + + at + at + + + + disambiguation.cpp + disambiguation.cpp + 14 + 5 + + + disambiguation.cpp + disambiguation.cpp + 15 + 5 + + + + overloads + QPbiMBjqDYFDcLznmL7gAovCh8A + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + normal + FnDseGb6fuq5vUVXLfYGQ4kkYP9 4NWBZJ3iSfLBdcsp6kgkSNX5Ywxr + + + auto + auto + + + + + at + at-1-int + + + + disambiguation.cpp + disambiguation.cpp + 14 + 5 + + + + function + FnDseGb6fuq5vUVXLfYGQ4kkYP9 + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + lvalue-reference + + + named + + + identifier + int + + + int + + + + + + + + + named + + + identifier + int + + + int + + + i + + + normal + + + + at + at-1-int-const + + + + disambiguation.cpp + disambiguation.cpp + 15 + 5 + + + + function + 4NWBZJ3iSfLBdcsp6kgkSNX5Ywxr + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + lvalue-reference + + + named + + + + identifier + int + + + int + + + + + + + + + named + + + identifier + int + + + int + + + i + + + normal + + + + + reset + reset + + + + disambiguation.cpp + disambiguation.cpp + 20 + 5 + + + disambiguation.cpp + disambiguation.cpp + 21 + 5 + + + + overloads + 2VAGZMQpGQKeXrwG3XTFuzdX24gX + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + normal + 2Wc3zqVcL2882nXqUGi9qFYYqvK9 3PirRUJGqEzDWpRS3DGMcTcSVARg + + + named + + + identifier + void + + + void + + + + + reset + reset-1-int-ptr-const + + + + disambiguation.cpp + disambiguation.cpp + 21 + 5 + + + + function + 2Wc3zqVcL2882nXqUGi9qFYYqvK9 + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + named + + + identifier + void + + + void + + + + + + + pointer + + + named + + + identifier + int + + + int + + + + + p + + + normal + + + + + reset + reset-1-int-ptr + + + + disambiguation.cpp + disambiguation.cpp + 20 + 5 + + + + function + 3PirRUJGqEzDWpRS3DGMcTcSVARg + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + named + + + identifier + void + + + void + + + + + + + pointer + + + + named + + + identifier + int + + + int + + + + + p + + + normal + + + + resize + resize + + + + disambiguation.cpp + disambiguation.cpp + 9 + 5 + + + disambiguation.cpp + disambiguation.cpp + 10 + 5 + + + disambiguation.cpp + disambiguation.cpp + 11 + 5 + + + disambiguation.cpp + disambiguation.cpp + 12 + 5 + + + + overloads + 237BNzb1ToM6truyZoubRDvGNrjz + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + normal + a9goSZv66VeVdb9BWH4oLG3K98n 2bBfosMrzye7MNonp5wigcm22cxQ 2v3wmY3ckrREe8pnpGctxnCL2PTS D2dxy8ExpoiNvNqqCbKu9yMBwrH + + + named + + + identifier + void + + + void + + + + + resize + resize-0 + + + + disambiguation.cpp + disambiguation.cpp + 9 + 5 + + + + function + a9goSZv66VeVdb9BWH4oLG3K98n + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + named + + + identifier + void + + + void + + + normal + + + + resize + resize-1 + + + + disambiguation.cpp + disambiguation.cpp + 10 + 5 + + + + function + 2bBfosMrzye7MNonp5wigcm22cxQ + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + + resize + resize-2-double-comma-int + + + + disambiguation.cpp + disambiguation.cpp + 12 + 5 + + + + function + 2v3wmY3ckrREe8pnpGctxnCL2PTS + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + n + + + + + named + + + identifier + int + + + int + + + m + + + normal + + + + resize + resize-2-int-comma-int + + + + disambiguation.cpp + disambiguation.cpp + 11 + 5 + + + + function + D2dxy8ExpoiNvNqqCbKu9yMBwrH + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + + + named + + + identifier + int + + + int + + + m + + + normal + + + + operator bool + 2conversion-bool + + + + disambiguation.cpp + disambiguation.cpp + 28 + 5 + + + + function + Tpq2u3bVjTNS4USEWiCK8ffCsL7 + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + brief + + + text + Conversion to + + + code + + + text + bool + + + + + + + + returns + + + text + The object converted to + + + code + + + text + bool + + + + + + + + + + named + + + identifier + bool + + + bool + + + conversion + + + + operator double + 2conversion-double + + + + disambiguation.cpp + disambiguation.cpp + 27 + 5 + + + + function + 4LPRQU1SXSViqbvMcZAKCmJTrSSG + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + brief + + + text + Conversion to + + + code + + + text + double + + + + + + + + returns + + + text + The object converted to + + + code + + + text + double + + + + + + + + + + named + + + identifier + double + + + double + + + conversion + + + + + operator int + 2conversion-int + + + + disambiguation.cpp + disambiguation.cpp + 25 + 5 + + + disambiguation.cpp + disambiguation.cpp + 26 + 5 + + + + overloads + 7AUs7eZHh4jSuehBH6GBBNCx1FT + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + brief + + + text + Conversion operators + + + + + conversion + 35MJRFoFdKFgqA31G3RRQAgD741z 4P9BxZUqcZE9F53qBC24iWK34bVh + + + named + + + identifier + int + + + int + + + + + operator int + 2conversion-int-0-const + + + + disambiguation.cpp + disambiguation.cpp + 25 + 5 + + + + function + 35MJRFoFdKFgqA31G3RRQAgD741z + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + brief + + + text + Conversion to + + + code + + + text + int + + + + + + + + returns + + + text + The object converted to + + + code + + + text + int + + + + + + + + + + named + + + identifier + int + + + int + + + conversion + + + + + operator int + 2conversion-int-0 + + + + disambiguation.cpp + disambiguation.cpp + 26 + 5 + + + + function + 4P9BxZUqcZE9F53qBC24iWK34bVh + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + brief + + + text + Conversion to + + + code + + + text + int + + + + + + + + returns + + + text + The object converted to + + + code + + + text + int + + + + + + + + + + named + + + identifier + int + + + int + + + conversion + + + + Wrapper + Wrapper + + + disambiguation.cpp + disambiguation.cpp + 76 + 1 + + + record + 4JZQEEn4kfMSM2zWqmMKSH3X4FNy + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + + X + X + + + disambiguation.cpp + disambiguation.cpp + 237 + 1 + + + record + 3pckmfiVbXAYjwBs44JCuEmQATU1 + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor + a_parameter_type_whose_name_is_too_long_to_spell_in_an_anchor + + + disambiguation.cpp + disambiguation.cpp + 74 + 1 + + + record + 2qkvfo6sMXGL7B6qCweBGadGrHVd + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + quantity + quantity + + + disambiguation.cpp + disambiguation.cpp + 197 + 1 + + + record + 33eB6EXuS9cfn9ZPnZpZYtkw1Z4k + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + stat + stat + + + disambiguation.cpp + disambiguation.cpp + 202 + 1 + + + record + 4QcXBaguRn8ZkQ4p6Vm9UMTghCCt + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + make + make + + + + disambiguation.cpp + disambiguation.cpp + 128 + 1 + + + disambiguation.cpp + disambiguation.cpp + 131 + 1 + + + disambiguation.cpp + disambiguation.cpp + 134 + 1 + + + + overloads + 4JXo7G62Sr4wya5jdLR9bofqcd76 + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + normal + 2BbTazmiE6x8aTAXbGNDA81JsaT8 fPRpkGjt4GtAphHKFubbZQ9XAPA 3BvRe9Ua1RTEh13oYwL5wKjHjXBd + + + named + + + identifier + void + + + void + + + + + make + make-0-t1 + + + + disambiguation.cpp + disambiguation.cpp + 128 + 1 + + + + function + 2BbTazmiE6x8aTAXbGNDA81JsaT8 + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + + named + + + identifier + void + + + void + + + + normal + fPRpkGjt4GtAphHKFubbZQ9XAPA 3BvRe9Ua1RTEh13oYwL5wKjHjXBd + + + make + make-0-t0-char + + + + disambiguation.cpp + disambiguation.cpp + 134 + 1 + + + + function + fPRpkGjt4GtAphHKFubbZQ9XAPA + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + + named + + + identifier + void + + + void + + + + normal + + + + make + make-0-t0-int + + + + disambiguation.cpp + disambiguation.cpp + 131 + 1 + + + + function + 3BvRe9Ua1RTEh13oYwL5wKjHjXBd + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + + named + + + identifier + void + + + void + + + + normal + + + + stat + stat-2function + + + + disambiguation.cpp + disambiguation.cpp + 204 + 1 + + + + function + 2sCaE5gRv6nNHhqehP9TR8AcaC6n + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + + named + + + identifier + int + + + int + + + + + + + pointer + + + named + + + + identifier + char + + + char + + + + + path + + + + + pointer + + + named + + + identifier + 4QcXBaguRn8ZkQ4p6Vm9UMTghCCt + stat + + + + + + + buf + + + normal + + + Quantity + Quantity-concept + + + + disambiguation.cpp + disambiguation.cpp + 199 + 1 + + + + concept + fHqkeF1qQtJAUNmQ776a3ocAUKF + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + true + + + Holder + Holder-2guide-1-int + + + + disambiguation.cpp + disambiguation.cpp + 214 + 1 + + + + guide + 2BuhVGU6opJQiJo2RW6kMFAxxMfY + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + + named + + + specialization + 21Yh5PF5ewVmWeNR3NwSbcFHNTrQ + Holder + + + type + + + named + + + identifier + long + + + long + + + + + + + + + + + + + named + + + identifier + int + + + int + + + + + + + Holder + Holder-2guide-1-const-char-ptr + + + + disambiguation.cpp + disambiguation.cpp + 212 + 1 + + + + guide + 4GRDyApoq5SwT7WfWjH5QBDony26 + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + + named + + + specialization + 21Yh5PF5ewVmWeNR3NwSbcFHNTrQ + Holder + + + type + + + pointer + + + named + + + + identifier + char + + + char + + + + + + + + + + + + + + + pointer + + + named + + + + identifier + char + + + char + + + + + + + + + X + X-using + + + + disambiguation.cpp + disambiguation.cpp + 241 + 1 + + + + using + 327WmbvPy2P7iiF6o8goG4Am7nq7 + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + normal + + + identifier + X + + + identifier + 3RnCpjXqT9XkHX6pwCXim3WgD44Q + N + + + + + 2JUC9WPphSr9b41QJqpRi5oBJ6cn + + + X + X + + + + disambiguation.cpp + disambiguation.cpp + 234 + 1 + + + + function + 2JUC9WPphSr9b41QJqpRi5oBJ6cn + regular + 3RnCpjXqT9XkHX6pwCXim3WgD44Q + + + named + + + identifier + void + + + void + + + normal + + diff --git a/tests/golden/fixtures/config/legible-names/disambiguation.yml b/tests/golden/fixtures/config/legible-names/disambiguation.yml new file mode 100644 index 00000000000..4507c7d09b6 --- /dev/null +++ b/tests/golden/fixtures/config/legible-names/disambiguation.yml @@ -0,0 +1 @@ +generator: [xml, adoc] diff --git a/tests/golden/fixtures/config/legible-names/using-declarations.cpp b/tests/golden/fixtures/config/legible-names/using-declarations.cpp new file mode 100644 index 00000000000..1dcd43aef37 --- /dev/null +++ b/tests/golden/fixtures/config/legible-names/using-declarations.cpp @@ -0,0 +1,65 @@ +// Using-declarations of one name add `using` and the class they name it +// in, or `using` alone when they name it in no class. +struct First +{ + void get(int n); +}; + +struct Second +{ + void get(double d); +}; + +struct Both : First, Second +{ + using First::get; + using Second::get; +}; + +void f(int n); + +namespace M +{ +void f(double d); +} + +namespace N +{ +using ::f; +using M::f; +} + +// Qualifiers that end in the same name are spelled in full, so the two +// using-declarations below add `A-B` and `C-B`. +namespace A::B +{ +void g(int n); +} + +namespace C::B +{ +void g(double d); +} + +namespace P +{ +using A::B::g; +using C::B::g; +} + +// A qualifier too long to spell is replaced by a hash of its spelling. +namespace a_namespace_whose_name_is_much_too_long_to_spell_in_an_anchor::inner +{ +void h(int n); +} + +namespace Q +{ +void h(double d); +} + +namespace R +{ +using a_namespace_whose_name_is_much_too_long_to_spell_in_an_anchor::inner::h; +using Q::h; +} diff --git a/tests/golden/fixtures/config/legible-names/using-declarations.xml b/tests/golden/fixtures/config/legible-names/using-declarations.xml new file mode 100644 index 00000000000..07d5f3725ef --- /dev/null +++ b/tests/golden/fixtures/config/legible-names/using-declarations.xml @@ -0,0 +1,1557 @@ + + + + index + namespace + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + regular + + 2xwtzebgDk4MeocbdM1v5JoV4Xvj 25E7YV3KHjZY2ihduSUnRcJkYGeD 3f6aJNgmMhwqQarbp4uXGhhRkqaN 3RnCpjXqT9XkHX6pwCXim3WgD44Q 49QRVTop9KAsEmoFoaEx193PFrJp 4BsiBFuNNknCUYLjYLpLgwraM6x9 3gYjBmfPapyBeBtR3fV2UbWT5uH3 3MS3QJps6rfFMPWhkHrHBasSS8pG + kGUpP2dFrhSitE17pL2yRhChdAU G2eFZG2h7WkioJftequH1fFVCPX 36MyNiKDV7vRJsTiV9XqGJhSHuZv + 2UUmhVE11kFkzzQeeZWDoLww9ebF + + + + A + A + + + + using-declarations.cpp + using-declarations.cpp + 34 + 1 + + + + namespace + 2xwtzebgDk4MeocbdM1v5JoV4Xvj + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + 49hh9paWqCeaSTRV2DfFhFFWK9Wc + + + + B + B + + + + using-declarations.cpp + using-declarations.cpp + 34 + 12 + + + + namespace + 49hh9paWqCeaSTRV2DfFhFFWK9Wc + regular + 2xwtzebgDk4MeocbdM1v5JoV4Xvj + + MvwLMjoo8KVsXZzv3H8JnNMJHKu + + + + g + g + + + + using-declarations.cpp + using-declarations.cpp + 36 + 1 + + + + function + MvwLMjoo8KVsXZzv3H8JnNMJHKu + regular + 49hh9paWqCeaSTRV2DfFhFFWK9Wc + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + C + C + + + + using-declarations.cpp + using-declarations.cpp + 39 + 1 + + + + namespace + 25E7YV3KHjZY2ihduSUnRcJkYGeD + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + 4Hf79h4SukfxfYN7RLs4mi5Fy4o1 + + + + B + B + + + + using-declarations.cpp + using-declarations.cpp + 39 + 12 + + + + namespace + 4Hf79h4SukfxfYN7RLs4mi5Fy4o1 + regular + 25E7YV3KHjZY2ihduSUnRcJkYGeD + + 3dRA3MpZRUjJ7mdnrxHWv9vLJJ4F + + + + g + g + + + + using-declarations.cpp + using-declarations.cpp + 41 + 1 + + + + function + 3dRA3MpZRUjJ7mdnrxHWv9vLJJ4F + regular + 4Hf79h4SukfxfYN7RLs4mi5Fy4o1 + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + d + + + normal + + + M + M + + + + using-declarations.cpp + using-declarations.cpp + 21 + 1 + + + + namespace + 3f6aJNgmMhwqQarbp4uXGhhRkqaN + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + 2f2Dz9diKf2Mqx6kGkPVmXDkYWaN + + + + f + f + + + + using-declarations.cpp + using-declarations.cpp + 23 + 1 + + + + function + 2f2Dz9diKf2Mqx6kGkPVmXDkYWaN + regular + 3f6aJNgmMhwqQarbp4uXGhhRkqaN + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + d + + + normal + + + N + N + + + + using-declarations.cpp + using-declarations.cpp + 26 + 1 + + + + namespace + 3RnCpjXqT9XkHX6pwCXim3WgD44Q + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + 3YF2PtFGATFjfmEgYAeLJJmvKc7M gEdLDzWSATjdpjvb6kjUzaV4YGP + + + + f + f-using + + + + using-declarations.cpp + using-declarations.cpp + 28 + 1 + + + + using + 3YF2PtFGATFjfmEgYAeLJJmvKc7M + regular + 3RnCpjXqT9XkHX6pwCXim3WgD44Q + normal + + + identifier + f + + + 2UUmhVE11kFkzzQeeZWDoLww9ebF + + + f + f + + + + using-declarations.cpp + using-declarations.cpp + 19 + 1 + + + + function + 2UUmhVE11kFkzzQeeZWDoLww9ebF + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + f + f-using-M + + + + using-declarations.cpp + using-declarations.cpp + 29 + 1 + + + + using + gEdLDzWSATjdpjvb6kjUzaV4YGP + regular + 3RnCpjXqT9XkHX6pwCXim3WgD44Q + normal + + + identifier + f + + + identifier + 3f6aJNgmMhwqQarbp4uXGhhRkqaN + M + + + + + 2f2Dz9diKf2Mqx6kGkPVmXDkYWaN + + + f + f + + + + using-declarations.cpp + using-declarations.cpp + 23 + 1 + + + + function + 2f2Dz9diKf2Mqx6kGkPVmXDkYWaN + regular + 3f6aJNgmMhwqQarbp4uXGhhRkqaN + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + d + + + normal + + + P + P + + + + using-declarations.cpp + using-declarations.cpp + 44 + 1 + + + + namespace + 49QRVTop9KAsEmoFoaEx193PFrJp + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + 45St9LTcHU4t15KfVYVYyouQLWzd 2ANcHzuWcTSqb53bA7P2YCCk9pgb + + + + g + g-using-A-scope-B + + + + using-declarations.cpp + using-declarations.cpp + 46 + 1 + + + + using + 45St9LTcHU4t15KfVYVYyouQLWzd + regular + 49QRVTop9KAsEmoFoaEx193PFrJp + normal + + + identifier + g + + + identifier + 49hh9paWqCeaSTRV2DfFhFFWK9Wc + B + + + identifier + 2xwtzebgDk4MeocbdM1v5JoV4Xvj + A + + + + + + + MvwLMjoo8KVsXZzv3H8JnNMJHKu + + + g + g + + + + using-declarations.cpp + using-declarations.cpp + 36 + 1 + + + + function + MvwLMjoo8KVsXZzv3H8JnNMJHKu + regular + 49hh9paWqCeaSTRV2DfFhFFWK9Wc + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + g + g-using-C-scope-B + + + + using-declarations.cpp + using-declarations.cpp + 47 + 1 + + + + using + 2ANcHzuWcTSqb53bA7P2YCCk9pgb + regular + 49QRVTop9KAsEmoFoaEx193PFrJp + normal + + + identifier + g + + + identifier + 4Hf79h4SukfxfYN7RLs4mi5Fy4o1 + B + + + identifier + 25E7YV3KHjZY2ihduSUnRcJkYGeD + C + + + + + + + 3dRA3MpZRUjJ7mdnrxHWv9vLJJ4F + + + g + g + + + + using-declarations.cpp + using-declarations.cpp + 41 + 1 + + + + function + 3dRA3MpZRUjJ7mdnrxHWv9vLJJ4F + regular + 4Hf79h4SukfxfYN7RLs4mi5Fy4o1 + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + d + + + normal + + + Q + Q + + + + using-declarations.cpp + using-declarations.cpp + 56 + 1 + + + + namespace + 4BsiBFuNNknCUYLjYLpLgwraM6x9 + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + 3qp9Sb3Gf7Re1Ke8a5qYH6NojixB + + + + h + h + + + + using-declarations.cpp + using-declarations.cpp + 58 + 1 + + + + function + 3qp9Sb3Gf7Re1Ke8a5qYH6NojixB + regular + 4BsiBFuNNknCUYLjYLpLgwraM6x9 + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + d + + + normal + + + R + R + + + + using-declarations.cpp + using-declarations.cpp + 61 + 1 + + + + namespace + 3gYjBmfPapyBeBtR3fV2UbWT5uH3 + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + 3ALJJPeZRK3nQdnmuTMz5B3H9PvL srxSE9krRXhJopoGtcR6Gwjnn9K + + + + h + h-using-h87fed308 + + + + using-declarations.cpp + using-declarations.cpp + 63 + 1 + + + + using + 3ALJJPeZRK3nQdnmuTMz5B3H9PvL + regular + 3gYjBmfPapyBeBtR3fV2UbWT5uH3 + normal + + + identifier + h + + + identifier + 4DnHpVtuSx8z97AWkNcCqxkZ77KX + inner + + + identifier + 3MS3QJps6rfFMPWhkHrHBasSS8pG + a_namespace_whose_name_is_much_too_long_to_spell_in_an_anchor + + + + + + + 2qcUhp7EtiyCSdpKcbnXGUJ48XdM + + + h + h + + + + using-declarations.cpp + using-declarations.cpp + 53 + 1 + + + + function + 2qcUhp7EtiyCSdpKcbnXGUJ48XdM + regular + 4DnHpVtuSx8z97AWkNcCqxkZ77KX + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + h + h-using-Q + + + + using-declarations.cpp + using-declarations.cpp + 64 + 1 + + + + using + srxSE9krRXhJopoGtcR6Gwjnn9K + regular + 3gYjBmfPapyBeBtR3fV2UbWT5uH3 + normal + + + identifier + h + + + identifier + 4BsiBFuNNknCUYLjYLpLgwraM6x9 + Q + + + + + 3qp9Sb3Gf7Re1Ke8a5qYH6NojixB + + + h + h + + + + using-declarations.cpp + using-declarations.cpp + 58 + 1 + + + + function + 3qp9Sb3Gf7Re1Ke8a5qYH6NojixB + regular + 4BsiBFuNNknCUYLjYLpLgwraM6x9 + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + d + + + normal + + + a_namespace_whose_name_is_much_too_long_to_spell_in_an_anchor + a_namespace_whose_name_is_much_too_long_to_spell_in_an_anchor + + + + using-declarations.cpp + using-declarations.cpp + 51 + 1 + + + + namespace + 3MS3QJps6rfFMPWhkHrHBasSS8pG + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + 4DnHpVtuSx8z97AWkNcCqxkZ77KX + + + + inner + inner + + + + using-declarations.cpp + using-declarations.cpp + 51 + 72 + + + + namespace + 4DnHpVtuSx8z97AWkNcCqxkZ77KX + regular + 3MS3QJps6rfFMPWhkHrHBasSS8pG + + 2qcUhp7EtiyCSdpKcbnXGUJ48XdM + + + + h + h + + + + using-declarations.cpp + using-declarations.cpp + 53 + 1 + + + + function + 2qcUhp7EtiyCSdpKcbnXGUJ48XdM + regular + 4DnHpVtuSx8z97AWkNcCqxkZ77KX + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + Both + Both + + + using-declarations.cpp + using-declarations.cpp + 13 + 1 + + + record + kGUpP2dFrhSitE17pL2yRhChdAU + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + + + named + + + identifier + G2eFZG2h7WkioJftequH1fFVCPX + First + + + + + public + + + using-declarations.cpp + using-declarations.cpp + 13 + 15 + + + + + + + named + + + identifier + 36MyNiKDV7vRJsTiV9XqGJhSHuZv + Second + + + + + public + + + using-declarations.cpp + using-declarations.cpp + 13 + 22 + + + + + + + L4gdJP1z8cWBvnSc8FzhReXhaNF + wyMsMbefSWz2A3sp53LiFhkK9k 218rfLuQyuW6yNQyfN9nKuPfGzTa + + + + + get + get + + + + using-declarations.cpp + using-declarations.cpp + 5 + 5 + + + using-declarations.cpp + using-declarations.cpp + 10 + 5 + + + + overloads + L4gdJP1z8cWBvnSc8FzhReXhaNF + public + regular + kGUpP2dFrhSitE17pL2yRhChdAU + normal + 2dFNtZDh4JnVRYSfeBzFcUfLEHk7 4Hjr8ncMXZPxeEptuuWFt9Y1U4Ao + + + named + + + identifier + void + + + void + + + + + get + get + + + + using-declarations.cpp + using-declarations.cpp + 10 + 5 + + + + function + 2dFNtZDh4JnVRYSfeBzFcUfLEHk7 + public + regular + 36MyNiKDV7vRJsTiV9XqGJhSHuZv + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + d + + + normal + + + + get + get + + + + using-declarations.cpp + using-declarations.cpp + 5 + 5 + + + + function + 4Hjr8ncMXZPxeEptuuWFt9Y1U4Ao + public + regular + G2eFZG2h7WkioJftequH1fFVCPX + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + + get + get-using-First + + + + using-declarations.cpp + using-declarations.cpp + 15 + 5 + + + + using + wyMsMbefSWz2A3sp53LiFhkK9k + public + regular + kGUpP2dFrhSitE17pL2yRhChdAU + normal + + + identifier + get + + + identifier + G2eFZG2h7WkioJftequH1fFVCPX + First + + + + + 4Hjr8ncMXZPxeEptuuWFt9Y1U4Ao + + + get + get + + + + using-declarations.cpp + using-declarations.cpp + 5 + 5 + + + + function + 4Hjr8ncMXZPxeEptuuWFt9Y1U4Ao + public + regular + G2eFZG2h7WkioJftequH1fFVCPX + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + + get + get-using-Second + + + + using-declarations.cpp + using-declarations.cpp + 16 + 5 + + + + using + 218rfLuQyuW6yNQyfN9nKuPfGzTa + public + regular + kGUpP2dFrhSitE17pL2yRhChdAU + normal + + + identifier + get + + + identifier + 36MyNiKDV7vRJsTiV9XqGJhSHuZv + Second + + + + + 2dFNtZDh4JnVRYSfeBzFcUfLEHk7 + + + get + get + + + + using-declarations.cpp + using-declarations.cpp + 10 + 5 + + + + function + 2dFNtZDh4JnVRYSfeBzFcUfLEHk7 + public + regular + 36MyNiKDV7vRJsTiV9XqGJhSHuZv + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + d + + + normal + + + + First + First + + + using-declarations.cpp + using-declarations.cpp + 3 + 1 + + + record + G2eFZG2h7WkioJftequH1fFVCPX + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + kGUpP2dFrhSitE17pL2yRhChdAU + + + 4Hjr8ncMXZPxeEptuuWFt9Y1U4Ao + + + + + get + get + + + + using-declarations.cpp + using-declarations.cpp + 5 + 5 + + + + function + 4Hjr8ncMXZPxeEptuuWFt9Y1U4Ao + public + regular + G2eFZG2h7WkioJftequH1fFVCPX + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + + Second + Second + + + using-declarations.cpp + using-declarations.cpp + 8 + 1 + + + record + 36MyNiKDV7vRJsTiV9XqGJhSHuZv + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + kGUpP2dFrhSitE17pL2yRhChdAU + + + 2dFNtZDh4JnVRYSfeBzFcUfLEHk7 + + + + + get + get + + + + using-declarations.cpp + using-declarations.cpp + 10 + 5 + + + + function + 2dFNtZDh4JnVRYSfeBzFcUfLEHk7 + public + regular + 36MyNiKDV7vRJsTiV9XqGJhSHuZv + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + double + + + double + + + d + + + normal + + + + f + f + + + + using-declarations.cpp + using-declarations.cpp + 19 + 1 + + + + function + 2UUmhVE11kFkzzQeeZWDoLww9ebF + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + diff --git a/tests/golden/fixtures/config/legible-names/using-declarations.yml b/tests/golden/fixtures/config/legible-names/using-declarations.yml new file mode 100644 index 00000000000..2689e57b0b4 --- /dev/null +++ b/tests/golden/fixtures/config/legible-names/using-declarations.yml @@ -0,0 +1 @@ +generator: [xml] diff --git a/tests/golden/fixtures/config/legible-names/without-overload-sets.cpp b/tests/golden/fixtures/config/legible-names/without-overload-sets.cpp new file mode 100644 index 00000000000..89aeba9f6bc --- /dev/null +++ b/tests/golden/fixtures/config/legible-names/without-overload-sets.cpp @@ -0,0 +1,8 @@ +// Without overload sets, the function called with no arguments keeps the +// plain name, and the others add the number of their parameters. +struct Widget +{ + void resize(); + void resize(int n); + void resize(int n, int m); +}; diff --git a/tests/golden/fixtures/config/legible-names/without-overload-sets.xml b/tests/golden/fixtures/config/legible-names/without-overload-sets.xml new file mode 100644 index 00000000000..42a692c454d --- /dev/null +++ b/tests/golden/fixtures/config/legible-names/without-overload-sets.xml @@ -0,0 +1,182 @@ + + + + index + namespace + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + regular + + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + + Widget + Widget + + + without-overload-sets.cpp + without-overload-sets.cpp + 3 + 1 + + + record + 4STgDrwLeHv7mqV5anD6cJEd6K4T + regular + 4ZrjxJnU1LA5xSyrWMNuXTvSYKwt + struct + + + a9goSZv66VeVdb9BWH4oLG3K98n 2bBfosMrzye7MNonp5wigcm22cxQ D2dxy8ExpoiNvNqqCbKu9yMBwrH + + + + + resize + resize + + + + without-overload-sets.cpp + without-overload-sets.cpp + 5 + 5 + + + + function + a9goSZv66VeVdb9BWH4oLG3K98n + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + named + + + identifier + void + + + void + + + normal + + + + resize + resize-1 + + + + without-overload-sets.cpp + without-overload-sets.cpp + 6 + 5 + + + + function + 2bBfosMrzye7MNonp5wigcm22cxQ + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + normal + + + + resize + resize-2 + + + + without-overload-sets.cpp + without-overload-sets.cpp + 7 + 5 + + + + function + D2dxy8ExpoiNvNqqCbKu9yMBwrH + public + regular + 4STgDrwLeHv7mqV5anD6cJEd6K4T + + + named + + + identifier + void + + + void + + + + + + + named + + + identifier + int + + + int + + + n + + + + + named + + + identifier + int + + + int + + + m + + + normal + + + diff --git a/tests/golden/fixtures/config/legible-names/without-overload-sets.yml b/tests/golden/fixtures/config/legible-names/without-overload-sets.yml new file mode 100644 index 00000000000..e8abda1209e --- /dev/null +++ b/tests/golden/fixtures/config/legible-names/without-overload-sets.yml @@ -0,0 +1 @@ +overloads: false diff --git a/tests/golden/fixtures/config/overloads/const-mutable.xml b/tests/golden/fixtures/config/overloads/const-mutable.xml index cf54abe4197..a12d310384a 100644 --- a/tests/golden/fixtures/config/overloads/const-mutable.xml +++ b/tests/golden/fixtures/config/overloads/const-mutable.xml @@ -33,7 +33,7 @@ foo - foo-0e + foo @@ -77,7 +77,7 @@ foo - foo-0b + foo-0 @@ -115,7 +115,7 @@ foo - foo-07 + foo-0-const diff --git a/tests/golden/fixtures/config/overloads/visibility.xml b/tests/golden/fixtures/config/overloads/visibility.xml index aec91afd7c7..c0221b67f91 100644 --- a/tests/golden/fixtures/config/overloads/visibility.xml +++ b/tests/golden/fixtures/config/overloads/visibility.xml @@ -38,7 +38,7 @@ foo - foo-0e + foo @@ -77,7 +77,7 @@ foo - foo-0b + foo-0 @@ -110,7 +110,7 @@ foo - foo-06 + foo-1-bool @@ -159,7 +159,7 @@ foo - foo-03 + foo-public-static @@ -198,7 +198,7 @@ foo - foo-0fc + foo-1-int @@ -248,7 +248,7 @@ foo - foo-05 + foo-2-int-comma-bool @@ -312,7 +312,7 @@ foo - foo-04c + foo-protected @@ -351,7 +351,7 @@ foo - foo-0a + foo-2-int-comma-int @@ -414,7 +414,7 @@ foo - foo-0c + foo-3-int-comma-int-comma-bool @@ -491,7 +491,7 @@ foo - foo-048 + foo-protected-static @@ -530,7 +530,7 @@ foo - foo-00 + foo-3-int-comma-int-comma-int @@ -608,7 +608,7 @@ foo - foo-0f5 + foo-4 diff --git a/tests/golden/fixtures/config/sfinae/base-cycle.xml b/tests/golden/fixtures/config/sfinae/base-cycle.xml index 2d478f2e1a6..4638187d69a 100644 --- a/tests/golden/fixtures/config/sfinae/base-cycle.xml +++ b/tests/golden/fixtures/config/sfinae/base-cycle.xml @@ -34,7 +34,7 @@ is_step_impl - is_step_impl-06 + is_step_impl @@ -80,7 +80,7 @@ is_step_impl - is_step_impl-0d + is_step_impl-2-It-comma-false base-cycle.cpp @@ -187,7 +187,7 @@ is_step_impl - is_step_impl-03 + is_step_impl-2-It-comma-true base-cycle.cpp diff --git a/tests/golden/fixtures/config/sfinae/record-two-params.xml b/tests/golden/fixtures/config/sfinae/record-two-params.xml index 61de3a59c34..131ab827f97 100644 --- a/tests/golden/fixtures/config/sfinae/record-two-params.xml +++ b/tests/golden/fixtures/config/sfinae/record-two-params.xml @@ -53,7 +53,7 @@ writable_field_traits - writable_field_traits-07 + writable_field_traits record-two-params.cpp @@ -124,7 +124,7 @@ writable_field_traits - writable_field_traits-01 + writable_field_traits-2-T-comma-void-01 record-two-params.cpp @@ -184,7 +184,7 @@ writable_field_traits - writable_field_traits-0e + writable_field_traits-2-T-comma-void-0e record-two-params.cpp diff --git a/tests/golden/fixtures/config/show-namespaces/show-namespaces.xml b/tests/golden/fixtures/config/show-namespaces/show-namespaces.xml index 91bec4d96a1..9dfe45c4707 100644 --- a/tests/golden/fixtures/config/show-namespaces/show-namespaces.xml +++ b/tests/golden/fixtures/config/show-namespaces/show-namespaces.xml @@ -12,7 +12,7 @@ A - A-08 + A @@ -34,7 +34,7 @@ B - B-0e + B @@ -86,7 +86,7 @@ b - b-09 + b-2function @@ -117,7 +117,7 @@ a - a-04 + a-2function diff --git a/tests/golden/fixtures/config/sort-members-by/sort-members-by-location.xml b/tests/golden/fixtures/config/sort-members-by/sort-members-by-location.xml index 919a939290a..af3c42d346e 100644 --- a/tests/golden/fixtures/config/sort-members-by/sort-members-by-location.xml +++ b/tests/golden/fixtures/config/sort-members-by/sort-members-by-location.xml @@ -33,7 +33,7 @@ Z - 2constructor-00 + 2constructor @@ -83,7 +83,7 @@ Z - 2constructor-06 + 2constructor-1 @@ -165,7 +165,7 @@ Z - 2constructor-05 + 2constructor-0 @@ -321,7 +321,7 @@ operator bool - 2conversion + 2conversion-bool diff --git a/tests/golden/fixtures/config/sort-members-by/sort-members-by-name.xml b/tests/golden/fixtures/config/sort-members-by/sort-members-by-name.xml index f2f76e7a8ec..6c57027eaff 100644 --- a/tests/golden/fixtures/config/sort-members-by/sort-members-by-name.xml +++ b/tests/golden/fixtures/config/sort-members-by/sort-members-by-name.xml @@ -33,7 +33,7 @@ Z - 2constructor-00 + 2constructor @@ -83,7 +83,7 @@ Z - 2constructor-05 + 2constructor-0 @@ -127,7 +127,7 @@ Z - 2constructor-06 + 2constructor-1 @@ -321,7 +321,7 @@ operator bool - 2conversion + 2conversion-bool diff --git a/tests/golden/fixtures/config/sort-namespace-members-by/sort-namespace-members-by-location.xml b/tests/golden/fixtures/config/sort-namespace-members-by/sort-namespace-members-by-location.xml index 7a22d120d9d..c88b648caa2 100644 --- a/tests/golden/fixtures/config/sort-namespace-members-by/sort-namespace-members-by-location.xml +++ b/tests/golden/fixtures/config/sort-namespace-members-by/sort-namespace-members-by-location.xml @@ -29,7 +29,7 @@ C - C-0f + C sort-namespace-members-by-location.cpp @@ -78,7 +78,7 @@ C - C-0d + C-2 sort-namespace-members-by-location.cpp @@ -131,7 +131,7 @@ C - C-03 + C-1 sort-namespace-members-by-location.cpp @@ -169,7 +169,7 @@ B - B-0b + B sort-namespace-members-by-location.cpp @@ -201,7 +201,7 @@ B - B-04 + B-2-int-comma-char sort-namespace-members-by-location.cpp @@ -254,7 +254,7 @@ B - B-05 + B-2-int-comma-U sort-namespace-members-by-location.cpp @@ -371,7 +371,7 @@ Z - 2constructor-00 + 2constructor @@ -421,7 +421,7 @@ Z - 2constructor-05 + 2constructor-0 @@ -465,7 +465,7 @@ Z - 2constructor-06 + 2constructor-1 @@ -625,7 +625,7 @@ operator bool - 2conversion + 2conversion-bool @@ -1123,7 +1123,7 @@ g - g-0f + g @@ -1191,7 +1191,7 @@ g - g-03c + g-3-T-comma-T-comma-T @@ -1273,7 +1273,7 @@ g - g-0e4 + g-3-int-comma-int-comma-int @@ -1369,7 +1369,7 @@ g - g-0a + g-3-char-comma-char-comma-char @@ -1444,7 +1444,7 @@ g - g-03a + g-2 @@ -1505,7 +1505,7 @@ g - g-06 + g-1-double @@ -1552,7 +1552,7 @@ g - g-04 + g-1-int @@ -1605,7 +1605,7 @@ g - g-0e3 + g-0 diff --git a/tests/golden/fixtures/config/sort-namespace-members-by/sort-namespace-members-by-name.xml b/tests/golden/fixtures/config/sort-namespace-members-by/sort-namespace-members-by-name.xml index 5babc48ba99..409a64a55bb 100644 --- a/tests/golden/fixtures/config/sort-namespace-members-by/sort-namespace-members-by-name.xml +++ b/tests/golden/fixtures/config/sort-namespace-members-by/sort-namespace-members-by-name.xml @@ -48,7 +48,7 @@ B - B-0b + B sort-namespace-members-by-name.cpp @@ -80,7 +80,7 @@ B - B-04 + B-2-int-comma-char sort-namespace-members-by-name.cpp @@ -133,7 +133,7 @@ B - B-05 + B-2-int-comma-U sort-namespace-members-by-name.cpp @@ -192,7 +192,7 @@ C - C-0f + C sort-namespace-members-by-name.cpp @@ -241,7 +241,7 @@ C - C-03 + C-1 sort-namespace-members-by-name.cpp @@ -279,7 +279,7 @@ C - C-0d + C-2 sort-namespace-members-by-name.cpp @@ -371,7 +371,7 @@ Z - 2constructor-00 + 2constructor @@ -421,7 +421,7 @@ Z - 2constructor-05 + 2constructor-0 @@ -465,7 +465,7 @@ Z - 2constructor-06 + 2constructor-1 @@ -625,7 +625,7 @@ operator bool - 2conversion + 2conversion-bool @@ -1123,7 +1123,7 @@ g - g-0f + g @@ -1191,7 +1191,7 @@ g - g-0e3 + g-0 @@ -1222,7 +1222,7 @@ g - g-06 + g-1-double @@ -1269,7 +1269,7 @@ g - g-04 + g-1-int @@ -1322,7 +1322,7 @@ g - g-03a + g-2 @@ -1383,7 +1383,7 @@ g - g-0a + g-3-char-comma-char-comma-char @@ -1458,7 +1458,7 @@ g - g-03c + g-3-T-comma-T-comma-T @@ -1540,7 +1540,7 @@ g - g-0e4 + g-3-int-comma-int-comma-int diff --git a/tests/golden/fixtures/config/sort/sort-members.xml b/tests/golden/fixtures/config/sort/sort-members.xml index f159d4b7579..105a4dea4e9 100644 --- a/tests/golden/fixtures/config/sort/sort-members.xml +++ b/tests/golden/fixtures/config/sort/sort-members.xml @@ -48,7 +48,7 @@ B - B-0b + B sort-members.cpp @@ -80,7 +80,7 @@ B - B-04 + B-2-int-comma-char sort-members.cpp @@ -133,7 +133,7 @@ B - B-05 + B-2-int-comma-U sort-members.cpp @@ -192,7 +192,7 @@ C - C-0f + C sort-members.cpp @@ -241,7 +241,7 @@ C - C-03 + C-1 sort-members.cpp @@ -279,7 +279,7 @@ C - C-0d + C-2 sort-members.cpp @@ -371,7 +371,7 @@ Z - 2constructor-00 + 2constructor @@ -421,7 +421,7 @@ Z - 2constructor-05 + 2constructor-0 @@ -465,7 +465,7 @@ Z - 2constructor-06 + 2constructor-1 @@ -625,7 +625,7 @@ operator bool - 2conversion + 2conversion-bool @@ -1123,7 +1123,7 @@ g - g-0f + g @@ -1191,7 +1191,7 @@ g - g-0e3 + g-0 @@ -1222,7 +1222,7 @@ g - g-06 + g-1-double @@ -1269,7 +1269,7 @@ g - g-04 + g-1-int @@ -1322,7 +1322,7 @@ g - g-03a + g-2 @@ -1383,7 +1383,7 @@ g - g-0a + g-3-char-comma-char-comma-char @@ -1458,7 +1458,7 @@ g - g-03c + g-3-T-comma-T-comma-T @@ -1540,7 +1540,7 @@ g - g-0e4 + g-3-int-comma-int-comma-int diff --git a/tests/golden/fixtures/config/sort/unordered.xml b/tests/golden/fixtures/config/sort/unordered.xml index 1e0a01cb292..fef263cf4ef 100644 --- a/tests/golden/fixtures/config/sort/unordered.xml +++ b/tests/golden/fixtures/config/sort/unordered.xml @@ -29,7 +29,7 @@ C - C-0f + C unordered.cpp @@ -78,7 +78,7 @@ C - C-0d + C-2 unordered.cpp @@ -131,7 +131,7 @@ C - C-03 + C-1 unordered.cpp @@ -169,7 +169,7 @@ B - B-0b + B unordered.cpp @@ -201,7 +201,7 @@ B - B-04 + B-2-int-comma-char unordered.cpp @@ -254,7 +254,7 @@ B - B-05 + B-2-int-comma-U unordered.cpp @@ -764,7 +764,7 @@ operator bool - 2conversion + 2conversion-bool @@ -916,7 +916,7 @@ Z - 2constructor-00 + 2constructor @@ -966,7 +966,7 @@ Z - 2constructor-05 + 2constructor-0 @@ -1010,7 +1010,7 @@ Z - 2constructor-06 + 2constructor-1 @@ -1539,7 +1539,7 @@ g - g-0f + g @@ -1607,7 +1607,7 @@ g - g-03c + g-3-T-comma-T-comma-T @@ -1689,7 +1689,7 @@ g - g-0e4 + g-3-int-comma-int-comma-int @@ -1785,7 +1785,7 @@ g - g-0a + g-3-char-comma-char-comma-char @@ -1860,7 +1860,7 @@ g - g-03a + g-2 @@ -1921,7 +1921,7 @@ g - g-06 + g-1-double @@ -1968,7 +1968,7 @@ g - g-04 + g-1-int @@ -2021,7 +2021,7 @@ g - g-0e3 + g-0 diff --git a/tests/golden/fixtures/config/warn-if-undocumented/warn-if-undocumented.xml b/tests/golden/fixtures/config/warn-if-undocumented/warn-if-undocumented.xml index e88c3c30611..d5be2dcd4bd 100644 --- a/tests/golden/fixtures/config/warn-if-undocumented/warn-if-undocumented.xml +++ b/tests/golden/fixtures/config/warn-if-undocumented/warn-if-undocumented.xml @@ -12,7 +12,7 @@ Box - Box-01 + Box warn-if-undocumented.cpp @@ -101,7 +101,7 @@ Box - Box-0f + Box-1 warn-if-undocumented.cpp diff --git a/tests/golden/fixtures/filters/symbol-type/nested-private-template.xml b/tests/golden/fixtures/filters/symbol-type/nested-private-template.xml index faed34b7946..b3e99bbf44f 100644 --- a/tests/golden/fixtures/filters/symbol-type/nested-private-template.xml +++ b/tests/golden/fixtures/filters/symbol-type/nested-private-template.xml @@ -42,7 +42,7 @@ impl - impl-0e + impl @@ -87,7 +87,7 @@ impl - impl-00 + impl-2 nested-private-template.cpp diff --git a/tests/golden/fixtures/generator/hbs/attributes/attributes.adoc b/tests/golden/fixtures/generator/hbs/attributes/attributes.adoc index 852809d3bc0..a6b68b0f734 100644 --- a/tests/golden/fixtures/generator/hbs/attributes/attributes.adoc +++ b/tests/golden/fixtures/generator/hbs/attributes/attributes.adoc @@ -53,9 +53,9 @@ | A deprecated function with a message. | link:#log_message[`log_message`] | A printf‐like function (an attribute with multiple arguments). -| link:#resize-06[`resize`] +| link:#resize[`resize`] | An overload set with only one deprecated overload: the set is not tagged. -| link:#scale-02[`scale`] [.small]#[deprecated]# +| link:#scale[`scale`] [.small]#[deprecated]# | An overload set whose every overload is deprecated: the set is tagged. |=== @@ -338,7 +338,7 @@ void log_message(char const* fmt, ...); ---- -[#resize-06] +[#resize] == resize An overload set with only one deprecated overload: the set is not tagged. @@ -353,10 +353,10 @@ An overload set with only one deprecated overload: the set is not tagged&p [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- void -link:#resize-0b[resize](); +link:#resize-0[resize](); ---- -[.small]#link:#resize-0b[_» more..._]# +[.small]#link:#resize-0[_» more..._]# An overload set with only one deprecated overload: the set is not tagged. @@ -365,12 +365,12 @@ An overload set with only one deprecated overload: the set is not tagged&p ---- [[deprecated("use resize2")]] void -link:#resize-0c[resize](int); +link:#resize-1[resize](int); ---- -[.small]#link:#resize-0c[_» more..._]# +[.small]#link:#resize-1[_» more..._]# -[#resize-0b] +[#resize-0] == resize An overload set with only one deprecated overload: the set is not tagged. @@ -385,7 +385,7 @@ void resize(); ---- -[#resize-0c] +[#resize-1] == resize An overload set with only one deprecated overload: the set is not tagged. @@ -405,7 +405,7 @@ resize(int); ==== https://en.cppreference.com/cpp/language/attributes/deprecated[Deprecated^]: use resize2. Use of this entity is allowed but discouraged. ==== -[#scale-02] +[#scale] == scale An overload set whose every overload is deprecated: the set is tagged. @@ -421,10 +421,10 @@ An overload set whose every overload is deprecated: the set is tagged&peri ---- [[deprecated("use scale2")]] void -link:#scale-07[scale](); +link:#scale-0[scale](); ---- -[.small]#link:#scale-07[_» more..._]# +[.small]#link:#scale-0[_» more..._]# An overload set whose every overload is deprecated: the set is tagged. @@ -433,16 +433,16 @@ An overload set whose every overload is deprecated: the set is tagged&peri ---- [[deprecated("use scale2")]] void -link:#scale-05[scale](int); +link:#scale-1[scale](int); ---- -[.small]#link:#scale-05[_» more..._]# +[.small]#link:#scale-1[_» more..._]# [WARNING] ==== https://en.cppreference.com/cpp/language/attributes/deprecated[Deprecated^]: use scale2. Use of this entity is allowed but discouraged. ==== -[#scale-07] +[#scale-0] == scale An overload set whose every overload is deprecated: the set is tagged. @@ -462,7 +462,7 @@ scale(); ==== https://en.cppreference.com/cpp/language/attributes/deprecated[Deprecated^]: use scale2. Use of this entity is allowed but discouraged. ==== -[#scale-05] +[#scale-1] == scale An overload set whose every overload is deprecated: the set is tagged. diff --git a/tests/golden/fixtures/generator/hbs/attributes/attributes.html b/tests/golden/fixtures/generator/hbs/attributes/attributes.html index a508c13691c..d7521b77d3f 100644 --- a/tests/golden/fixtures/generator/hbs/attributes/attributes.html +++ b/tests/golden/fixtures/generator/hbs/attributes/attributes.html @@ -53,8 +53,8 @@

Functions

checked A nodiscard function (an attribute with no arguments). compute [deprecated]A deprecated function with a message. log_message A printf-like function (an attribute with multiple arguments). -resize An overload set with only one deprecated overload: the set is not tagged. -scale [deprecated]An overload set whose every overload is deprecated: the set is tagged. +resize An overload set with only one deprecated overload: the set is not tagged. +scale [deprecated]An overload set whose every overload is deprecated: the set is tagged. @@ -324,7 +324,7 @@

Synopsis

-

resize

+

resize

An overload set with only one deprecated overload: the set is not tagged.

@@ -333,20 +333,20 @@

Synopses

Declared in <attributes.cpp>

An overload set with only one deprecated overload: the set is not tagged.

void
-resize();
-» more... +resize(); +» more...

An overload set with only one deprecated overload: the set is not tagged.

[[deprecated("use resize2")]]
 void
-resize(int);
-» more... +resize(int); +» more...
-

resize

+

resize

An overload set with only one deprecated overload: the set is not tagged.

@@ -359,7 +359,7 @@

Synopsis

-

resize

+

resize

An overload set with only one deprecated overload: the set is not tagged.

@@ -378,7 +378,7 @@

WARNING

-

scale

+

scale

An overload set whose every overload is deprecated: the set is tagged.

@@ -388,14 +388,14 @@

Synopses

An overload set whose every overload is deprecated: the set is tagged.

[[deprecated("use scale2")]]
 void
-scale();
-» more... +scale(); +» more...

An overload set whose every overload is deprecated: the set is tagged.

[[deprecated("use scale2")]]
 void
-scale(int);
-» more... +scale(int); +» more...
@@ -406,7 +406,7 @@

WARNING

-

scale

+

scale

An overload set whose every overload is deprecated: the set is tagged.

@@ -425,7 +425,7 @@

WARNING

-

scale

+

scale

An overload set whose every overload is deprecated: the set is tagged.

diff --git a/tests/golden/fixtures/generator/hbs/hidden-friend/hidden-friend.adoc b/tests/golden/fixtures/generator/hbs/hidden-friend/hidden-friend.adoc index e3a5cfcf557..6f819974915 100644 --- a/tests/golden/fixtures/generator/hbs/hidden-friend/hidden-friend.adoc +++ b/tests/golden/fixtures/generator/hbs/hidden-friend/hidden-friend.adoc @@ -27,9 +27,9 @@ [cols="1,4"] |=== | Name| Description -| link:#less-0a[`less`] +| link:#less[`less`] | `less` overloads -| link:#operator_eq-07[`operator==`] +| link:#operator_eq[`operator==`] | Equality operators |=== @@ -53,7 +53,7 @@ struct base; [cols="1,4"] |=== | Name| Description -| `link:#less-0f[less]` +| `link:#less-2-base-comma-base[less]` | Order two bases. |=== @@ -85,7 +85,7 @@ struct label; [cols="1,4"] |=== | Name| Description -| `link:#operator_eq-05[operator==]` +| `link:#operator_eq-2-label-comma-label[operator==]` | Compare two labels. |=== @@ -117,7 +117,7 @@ struct point; [cols="1,4"] |=== | Name| Description -| `link:#operator_eq-08[operator==]` +| `link:#operator_eq-2-point-comma-point[operator==]` | Compare two points. |=== @@ -152,7 +152,7 @@ struct value; [cols="1,4"] |=== | Name| Description -| link:#less-00[`less`] +| link:#less-2-value-comma-value[`less`] | Order two ops. |=== @@ -185,11 +185,11 @@ struct wrapped [cols="1,4"] |=== | Name| Description -| link:#less-0e[`less`] +| link:#less-2-wrapped-comma-wrapped[`less`] | Order two bases. |=== -[#less-0a] +[#less] == less `less` overloads @@ -204,12 +204,12 @@ Order two bases. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- bool -link:#less-0f[less]( +link:#less-2-base-comma-base[less]( link:#base[base] a, link:#base[base] b); ---- -[.small]#link:#less-0f[_» more..._]# +[.small]#link:#less-2-base-comma-base[_» more..._]# Order two ops. @@ -217,12 +217,12 @@ Order two ops. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- bool -link:#less-00[less]( +link:#less-2-value-comma-value[less]( link:#value[value] a, link:#value[value] b); ---- -[.small]#link:#less-00[_» more..._]# +[.small]#link:#less-2-value-comma-value[_» more..._]# Order two bases. @@ -230,14 +230,14 @@ Order two bases. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- bool -link:#less-0e[less]( +link:#less-2-wrapped-comma-wrapped[less]( link:#wrapped[wrapped] a, link:#wrapped[wrapped] b); ---- -[.small]#link:#less-0e[_» more..._]# +[.small]#link:#less-2-wrapped-comma-wrapped[_» more..._]# -[#less-0f] +[#less-2-base-comma-base] == less Order two bases. @@ -270,7 +270,7 @@ This function is a https://en.cppreference.com/w/cpp/language/friend[hidden frie | A documented base carrying a hidden friend. |=== -[#less-00] +[#less-2-value-comma-value] == less Order two ops. @@ -303,7 +303,7 @@ This function is a https://en.cppreference.com/w/cpp/language/friend[hidden frie | Derives from the implementation‐defined base; the copied friend cannot name it. |=== -[#less-0e] +[#less-2-wrapped-comma-wrapped] == less Order two bases. @@ -336,7 +336,7 @@ This function is a https://en.cppreference.com/w/cpp/language/friend[hidden frie | Derives from the documented base; the copied friend names `base`. |=== -[#operator_eq-07] +[#operator_eq] == operator== Equality operators @@ -351,12 +351,12 @@ Compare two points. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- bool -link:#operator_eq-08[operator==]( +link:#operator_eq-2-point-comma-point[operator==]( link:#point[point] a, link:#point[point] b); ---- -[.small]#link:#operator_eq-08[_» more..._]# +[.small]#link:#operator_eq-2-point-comma-point[_» more..._]# Compare two labels. @@ -364,14 +364,14 @@ Compare two labels. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- bool -link:#operator_eq-05[operator==]( +link:#operator_eq-2-label-comma-label[operator==]( link:#label[label] a, link:#label[label] b); ---- -[.small]#link:#operator_eq-05[_» more..._]# +[.small]#link:#operator_eq-2-label-comma-label[_» more..._]# -[#operator_eq-08] +[#operator_eq-2-point-comma-point] == operator== Compare two points. @@ -408,7 +408,7 @@ This function is a https://en.cppreference.com/w/cpp/language/friend[hidden frie | The right operand |=== -[#operator_eq-05] +[#operator_eq-2-label-comma-label] == operator== Compare two labels. diff --git a/tests/golden/fixtures/javadoc/brief/brief-3.xml b/tests/golden/fixtures/javadoc/brief/brief-3.xml index e67f084c665..0164d7b7f6a 100644 --- a/tests/golden/fixtures/javadoc/brief/brief-3.xml +++ b/tests/golden/fixtures/javadoc/brief/brief-3.xml @@ -11,7 +11,7 @@ f - f-0c + f @@ -85,7 +85,7 @@ f - f-0f + f-1-double @@ -144,7 +144,7 @@ f - f-06 + f-1-int @@ -214,7 +214,7 @@ f - f-07 + f-1-const-char-ptr @@ -290,7 +290,7 @@ f - f-0b + f-1-const-float-ptr diff --git a/tests/golden/fixtures/javadoc/copydoc/conversion.xml b/tests/golden/fixtures/javadoc/copydoc/conversion.xml index 1e93e816832..dbe970e33c9 100644 --- a/tests/golden/fixtures/javadoc/copydoc/conversion.xml +++ b/tests/golden/fixtures/javadoc/copydoc/conversion.xml @@ -33,7 +33,7 @@ operator= - operator_assign-04 + operator_assign @@ -114,7 +114,7 @@ operator= - operator_assign-08 + operator_assign-1-const-string_type-ref @@ -211,7 +211,7 @@ operator= - operator_assign-00 + operator_assign-1-const-string_view_type-ref @@ -311,7 +311,7 @@ operator string_type - 2conversion-02 + 2conversion-string_type @@ -368,7 +368,7 @@ operator string_view_type - 2conversion-00 + 2conversion-string_view_type diff --git a/tests/golden/fixtures/javadoc/copydoc/decay-params.xml b/tests/golden/fixtures/javadoc/copydoc/decay-params.xml index 231064e567a..427c39ccb25 100644 --- a/tests/golden/fixtures/javadoc/copydoc/decay-params.xml +++ b/tests/golden/fixtures/javadoc/copydoc/decay-params.xml @@ -123,7 +123,7 @@ foo - foo-02 + foo @@ -207,7 +207,7 @@ foo - foo-0c + foo-0 @@ -270,7 +270,7 @@ foo - foo-01 + foo-1-int @@ -362,7 +362,7 @@ foo - foo-0e + foo-1-int-ptr diff --git a/tests/golden/fixtures/javadoc/copydoc/fundamental.xml b/tests/golden/fixtures/javadoc/copydoc/fundamental.xml index 3977aa3c55f..6b7baa2616b 100644 --- a/tests/golden/fixtures/javadoc/copydoc/fundamental.xml +++ b/tests/golden/fixtures/javadoc/copydoc/fundamental.xml @@ -11,7 +11,7 @@ f - f-0c + f @@ -83,7 +83,7 @@ f - f-06 + f-1-int @@ -155,7 +155,7 @@ f - f-04 + f-1-long diff --git a/tests/golden/fixtures/javadoc/copydoc/no-param.xml b/tests/golden/fixtures/javadoc/copydoc/no-param.xml index 709f43127a6..36e9cf3962a 100644 --- a/tests/golden/fixtures/javadoc/copydoc/no-param.xml +++ b/tests/golden/fixtures/javadoc/copydoc/no-param.xml @@ -176,7 +176,7 @@ foo - foo-02 + foo @@ -259,7 +259,7 @@ foo - foo-0c + foo-0 @@ -334,7 +334,7 @@ foo - foo-0a + foo-1 diff --git a/tests/golden/fixtures/javadoc/copydoc/operator-param.xml b/tests/golden/fixtures/javadoc/copydoc/operator-param.xml index 7c19c6ca3de..782341a2deb 100644 --- a/tests/golden/fixtures/javadoc/copydoc/operator-param.xml +++ b/tests/golden/fixtures/javadoc/copydoc/operator-param.xml @@ -33,7 +33,7 @@ operator() - operator_call-08 + operator_call @@ -112,7 +112,7 @@ operator() - operator_call-0f + operator_call-1-char-const @@ -214,7 +214,7 @@ operator() - operator_call-0b + operator_call-1-unsigned-char-const diff --git a/tests/golden/fixtures/javadoc/copydoc/param-types.xml b/tests/golden/fixtures/javadoc/copydoc/param-types.xml index bc568aded88..13beeaffd19 100644 --- a/tests/golden/fixtures/javadoc/copydoc/param-types.xml +++ b/tests/golden/fixtures/javadoc/copydoc/param-types.xml @@ -510,7 +510,7 @@ f - f-0c7 + f @@ -638,7 +638,7 @@ f - f-0b3 + f-0 @@ -692,7 +692,7 @@ f - f-00 + f-1-paramType-lt-0-gt @@ -800,7 +800,7 @@ f - f-08c + f-1-paramType-lt-1-gt @@ -921,7 +921,7 @@ f - f-012 + f-1-paramType-lt-2-gt @@ -1042,7 +1042,7 @@ f - f-0c1 + f-1-paramType-lt-3-gt @@ -1163,7 +1163,7 @@ f - f-03 + f-1-paramType-lt-5-gt @@ -1284,7 +1284,7 @@ f - f-04 + f-1-paramType-lt-6-gt @@ -1418,7 +1418,7 @@ f - f-0b5 + f-1-paramType-lt-7-gt @@ -1539,7 +1539,7 @@ f - f-010 + f-1-paramType-lt-8-gt @@ -1660,7 +1660,7 @@ f - f-081 + f-1-paramType-lt-9-gt @@ -1781,7 +1781,7 @@ g - g-0f + g @@ -1898,7 +1898,7 @@ g - g-05 + g-1-A @@ -1988,7 +1988,7 @@ g - g-09c + g-1-N-scope-M-scope-Q @@ -2092,7 +2092,7 @@ g - g-0b + g-1-auto @@ -2187,7 +2187,7 @@ g - g-096 + g-1-int-variadic @@ -2271,7 +2271,7 @@ g - g-04a + g-1-int @@ -2354,7 +2354,7 @@ g - g-04c + g-1-testEnum @@ -2444,7 +2444,7 @@ g - g-0c + g-2 diff --git a/tests/golden/fixtures/javadoc/copydoc/qualified.xml b/tests/golden/fixtures/javadoc/copydoc/qualified.xml index e40bad7d9f0..a46354af2a6 100644 --- a/tests/golden/fixtures/javadoc/copydoc/qualified.xml +++ b/tests/golden/fixtures/javadoc/copydoc/qualified.xml @@ -74,7 +74,7 @@ f - f-05 + f @@ -183,7 +183,7 @@ f - f-0a + f-1-param_t-lt-0-gt @@ -277,7 +277,7 @@ f - f-0b + f-1-param_t-lt-1-gt @@ -371,7 +371,7 @@ f - f-0e + f-1-param_t-lt-2-gt @@ -465,7 +465,7 @@ f - f-00 + f-1-param_t-lt-3-gt @@ -559,7 +559,7 @@ f - f-02 + f-1-param_t-lt-4-gt @@ -653,7 +653,7 @@ f - f-092 + f-1-param_t-lt-5-gt @@ -747,7 +747,7 @@ f - f-097 + f-1-param_t-lt-6-gt @@ -841,7 +841,7 @@ f - f-07 + f-1-param_t-lt-7-gt @@ -935,7 +935,7 @@ g - g-06e + g @@ -1008,7 +1008,7 @@ g - g-0a + g-1-B @@ -1093,7 +1093,7 @@ g - g-06c + g-1-int @@ -1178,7 +1178,7 @@ h - h-05 + h @@ -1251,7 +1251,7 @@ h - h-0f + h-1-N-scope-A-scope-B @@ -1350,7 +1350,7 @@ h - h-06 + h-1-int diff --git a/tests/golden/fixtures/javadoc/copydoc/qualifiers.xml b/tests/golden/fixtures/javadoc/copydoc/qualifiers.xml index 522b8018508..7f2c36a36be 100644 --- a/tests/golden/fixtures/javadoc/copydoc/qualifiers.xml +++ b/tests/golden/fixtures/javadoc/copydoc/qualifiers.xml @@ -74,7 +74,7 @@ begin - begin-03 + begin @@ -149,7 +149,7 @@ begin - begin-06 + begin-0 @@ -216,7 +216,7 @@ begin - begin-0c + begin-0-const @@ -421,7 +421,7 @@ ref - ref-05f + ref @@ -501,7 +501,7 @@ ref - ref-051 + ref-0-ref @@ -563,7 +563,7 @@ ref - ref-0e + ref-0-rref @@ -625,7 +625,7 @@ ref - ref-04 + ref-0-const-ref @@ -689,7 +689,7 @@ ref - ref-07 + ref-0-const-rref diff --git a/tests/golden/fixtures/javadoc/copydoc/template-arguments.xml b/tests/golden/fixtures/javadoc/copydoc/template-arguments.xml index 7a565601fe7..4c5c0c20109 100644 --- a/tests/golden/fixtures/javadoc/copydoc/template-arguments.xml +++ b/tests/golden/fixtures/javadoc/copydoc/template-arguments.xml @@ -503,7 +503,7 @@ B - B-08 + B @@ -587,7 +587,7 @@ B - B-09 + B-1 template-arguments.cpp @@ -637,7 +637,7 @@ B - B-0c + B-2 template-arguments.cpp @@ -691,7 +691,7 @@ C - C-05 + C @@ -775,7 +775,7 @@ C - C-0f + C-2-D-comma-true template-arguments.cpp @@ -829,7 +829,7 @@ C - C-0c + C-2-int-comma-true template-arguments.cpp diff --git a/tests/golden/fixtures/javadoc/ref/parent_context.xml b/tests/golden/fixtures/javadoc/ref/parent_context.xml index d3628477480..0459ed41eba 100644 --- a/tests/golden/fixtures/javadoc/ref/parent_context.xml +++ b/tests/golden/fixtures/javadoc/ref/parent_context.xml @@ -143,7 +143,7 @@ final_virtual_ptr - final_virtual_ptr-04 + final_virtual_ptr @@ -175,7 +175,7 @@ final_virtual_ptr - final_virtual_ptr-08 + final_virtual_ptr-1-Arg-rref-t1 @@ -230,7 +230,7 @@ final_virtual_ptr - final_virtual_ptr-03 + final_virtual_ptr-1-Arg-rref-t2 diff --git a/tests/golden/fixtures/snippets/options/auto-function-metadata/auto-function-metadata.adoc b/tests/golden/fixtures/snippets/options/auto-function-metadata/auto-function-metadata.adoc index b2cdcadb341..707cca0de57 100644 --- a/tests/golden/fixtures/snippets/options/auto-function-metadata/auto-function-metadata.adoc +++ b/tests/golden/fixtures/snippets/options/auto-function-metadata/auto-function-metadata.adoc @@ -20,7 +20,7 @@ struct vec2; [cols="1,4"] |=== | Name| Description -| link:#vec2-2constructor-0f[`vec2`] [.small]#[constructor]# +| link:#vec2-2constructor[`vec2`] [.small]#[constructor]# | Construct from `x` and `y` components. | link:#vec2-2destructor[`~vec2`] [.small]#[destructor]# | Destructor @@ -35,7 +35,7 @@ struct vec2; |=== -[#vec2-2constructor-0f] +[#vec2-2constructor] == link:#vec2[vec2]::vec2 Construct from `x` and `y` components. @@ -49,34 +49,34 @@ Copy constructor [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -link:#vec2-2constructor-0c[vec2](link:#vec2[vec2] const& other); +link:#vec2-2constructor-1-const-vec2-ref[vec2](link:#vec2[vec2] const& other); ---- -[.small]#link:#vec2-2constructor-0c[_» more..._]# +[.small]#link:#vec2-2constructor-1-const-vec2-ref[_» more..._]# Move constructor [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -link:#vec2-2constructor-05[vec2](link:#vec2[vec2]&& other) noexcept; +link:#vec2-2constructor-1-vec2-rref[vec2](link:#vec2[vec2]&& other) noexcept; ---- -[.small]#link:#vec2-2constructor-05[_» more..._]# +[.small]#link:#vec2-2constructor-1-vec2-rref[_» more..._]# Construct from `x` and `y` components. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -link:#vec2-2constructor-04[vec2]( +link:#vec2-2constructor-2[vec2]( double x, double y); ---- -[.small]#link:#vec2-2constructor-04[_» more..._]# +[.small]#link:#vec2-2constructor-2[_» more..._]# -[#vec2-2constructor-0c] +[#vec2-2constructor-1-const-vec2-ref] == link:#vec2[vec2]::vec2 Copy constructor @@ -99,7 +99,7 @@ vec2(link:#vec2[vec2] const& other); | The object to copy construct from |=== -[#vec2-2constructor-05] +[#vec2-2constructor-1-vec2-rref] == link:#vec2[vec2]::vec2 Move constructor @@ -122,7 +122,7 @@ vec2(link:#vec2[vec2]&& other) noexcept; | The object to move construct from |=== -[#vec2-2constructor-04] +[#vec2-2constructor-2] == link:#vec2[vec2]::vec2 Construct from `x` and `y` components. diff --git a/tests/golden/fixtures/snippets/options/extract-implicit-base-classes/extract-implicit-base-classes.adoc b/tests/golden/fixtures/snippets/options/extract-implicit-base-classes/extract-implicit-base-classes.adoc index 6da04abe7f6..5caf3a0f16d 100644 --- a/tests/golden/fixtures/snippets/options/extract-implicit-base-classes/extract-implicit-base-classes.adoc +++ b/tests/golden/fixtures/snippets/options/extract-implicit-base-classes/extract-implicit-base-classes.adoc @@ -1,7 +1,7 @@ = Reference :mrdocs: -[#box-0f5] +[#box] == box A simple container template. @@ -21,7 +21,7 @@ struct box; [cols="1,4"] |=== | Name| Description -| link:#box-0f5-value[`value`] +| link:#box-value[`value`] | The contained value. |=== @@ -35,8 +35,8 @@ struct box; | Inherits from `box<int>`. With `extract‐implicit‐base‐classes: true`, that implicit instantiation shows up in the docs alongside the primary template. |=== -[#box-0f5-value] -== link:#box-0f5[box]::value +[#box-value] +== link:#box[box]::value The contained value. @@ -61,7 +61,7 @@ Declared in `<extract‐implicit‐base‐classes.cpp&g [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct int_box - : link:#box-0f5[box<int>] + : link:#box[box<int>] ---- === Base Classes @@ -69,7 +69,7 @@ struct int_box [cols="1,4"] |=== | Name| Description -| `link:#box-0f5[box<int>]` +| `link:#box[box<int>]` | A simple container template. |=== diff --git a/tests/golden/fixtures/snippets/options/legible-names/legible-names.adoc b/tests/golden/fixtures/snippets/options/legible-names/legible-names.adoc new file mode 100644 index 00000000000..c9f432c9a88 --- /dev/null +++ b/tests/golden/fixtures/snippets/options/legible-names/legible-names.adoc @@ -0,0 +1,169 @@ += Reference +:mrdocs: + +[#buffer] +== buffer + +A buffer of characters. + +=== Synopsis + +Declared in `<legible‐names.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class buffer; +---- + +=== Member Functions + +[cols="1,4"] +|=== +| Name| Description +| link:#buffer-at[`at`] +| Return the character at `i`. +|=== + + +[#buffer-at] +== link:#buffer[buffer]::at + +Return the character at `i`. + +=== Synopses + +Declared in `<legible‐names.cpp>` + +Return the character at `i`. + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +char& +link:#buffer-at-1-int[at](int i); +---- + +[.small]#link:#buffer-at-1-int[_» more..._]# + +Return the character at `i`. + + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +char const& +link:#buffer-at-1-int-const[at](int i) const; +---- + +[.small]#link:#buffer-at-1-int-const[_» more..._]# + +[#buffer-at-1-int] +== link:#buffer[buffer]::at + +Return the character at `i`. + +=== Synopsis + +Declared in `<legible‐names.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +char& +at(int i); +---- + +=== Return Value + +the character at `i`. + +[#buffer-at-1-int-const] +== link:#buffer[buffer]::at + +Return the character at `i`. + +=== Synopsis + +Declared in `<legible‐names.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +char const& +at(int i) const; +---- + +=== Return Value + +the character at `i`. + +[#pair] +== pair + +A pair of values. + +=== Synopsis + +Declared in `<legible‐names.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template< + class T, + class U> +struct pair; +---- + +=== Specializations + +[cols="1,4"] +|=== +| Name| Description +| link:#pair-2[`pair<int, int>`] +| A pair of integers. +|=== + + +[#pair-2] +== link:#pair[pair]<int, int> + +A pair of integers. + +=== Synopsis + +Declared in `<legible‐names.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<> +struct link:#pair[pair]<int, int>; +---- + +[#quantity] +== quantity + +A physical quantity. + +=== Synopsis + +Declared in `<legible‐names.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +struct quantity; +---- + +[#Quantity-concept] +== Quantity + +Whether `T` is a physical quantity. + +=== Synopsis + +Declared in `<legible‐names.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +template<class T> +concept Quantity = true; +---- + + +[.small]#Created with https://www.mrdocs.com[MrDocs]# diff --git a/tests/golden/fixtures/snippets/options/legible-names/legible-names.cpp b/tests/golden/fixtures/snippets/options/legible-names/legible-names.cpp new file mode 100644 index 00000000000..9b8b63dd50c --- /dev/null +++ b/tests/golden/fixtures/snippets/options/legible-names/legible-names.cpp @@ -0,0 +1,25 @@ +/// A physical quantity. +struct quantity {}; + +/// Whether `T` is a physical quantity. +template +concept Quantity = true; + +/// A buffer of characters. +class buffer +{ +public: + /// Return the character at `i`. + char& at(int i); + + /// Return the character at `i`. + char const& at(int i) const; +}; + +/// A pair of values. +template +struct pair {}; + +/// A pair of integers. +template <> +struct pair {}; diff --git a/tests/golden/fixtures/snippets/options/legible-names/legible-names.yml b/tests/golden/fixtures/snippets/options/legible-names/legible-names.yml index b8545a8f929..f42a858c12f 100644 --- a/tests/golden/fixtures/snippets/options/legible-names/legible-names.yml +++ b/tests/golden/fixtures/snippets/options/legible-names/legible-names.yml @@ -1,2 +1 @@ -multipage: true legible-names: true diff --git a/tests/golden/fixtures/snippets/options/overloads/overloads.adoc b/tests/golden/fixtures/snippets/options/overloads/overloads.adoc index a4078a1a8dd..621e53da049 100644 --- a/tests/golden/fixtures/snippets/options/overloads/overloads.adoc +++ b/tests/golden/fixtures/snippets/options/overloads/overloads.adoc @@ -1,7 +1,7 @@ = Reference :mrdocs: -[#abs-043] +[#abs] == abs Compute the absolute value of an integer. @@ -16,10 +16,10 @@ Compute the absolute value of an integer. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- int -link:#abs-04b[abs](int x); +link:#abs-1-int[abs](int x); ---- -[.small]#link:#abs-04b[_» more..._]# +[.small]#link:#abs-1-int[_» more..._]# Compute the absolute value of an integer. @@ -27,12 +27,12 @@ Compute the absolute value of an integer. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- long -link:#abs-01[abs](long x); +link:#abs-1-long[abs](long x); ---- -[.small]#link:#abs-01[_» more..._]# +[.small]#link:#abs-1-long[_» more..._]# -[#abs-04b] +[#abs-1-int] == abs Compute the absolute value of an integer. @@ -51,7 +51,7 @@ abs(int x); One overload takes `int` and the other `long`, so the documentation page lists both side by side. -[#abs-01] +[#abs-1-long] == abs Compute the absolute value of an integer. diff --git a/tests/golden/fixtures/snippets/options/sort-members-assignment-1st/sort-members-assignment-1st.adoc b/tests/golden/fixtures/snippets/options/sort-members-assignment-1st/sort-members-assignment-1st.adoc index dd1ef8c1d20..5b99c27a311 100644 --- a/tests/golden/fixtures/snippets/options/sort-members-assignment-1st/sort-members-assignment-1st.adoc +++ b/tests/golden/fixtures/snippets/options/sort-members-assignment-1st/sort-members-assignment-1st.adoc @@ -20,14 +20,14 @@ struct widget; [cols="1,4"] |=== | Name| Description -| link:#widget-operator_assign-00[`operator=`] +| link:#widget-operator_assign[`operator=`] | Assignment operators | link:#widget-refresh[`refresh`] | Refresh the widget. |=== -[#widget-operator_assign-00] +[#widget-operator_assign] == link:#widget[widget]::operator= Assignment operators @@ -42,10 +42,10 @@ Copy‐assign from another widget. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- link:#widget[widget]& -link:#widget-operator_assign-0b[operator=](link:#widget[widget] const& other); +link:#widget-operator_assign-1-const-widget-ref[operator=](link:#widget[widget] const& other); ---- -[.small]#link:#widget-operator_assign-0b[_» more..._]# +[.small]#link:#widget-operator_assign-1-const-widget-ref[_» more..._]# Move‐assign from another widget. @@ -53,12 +53,12 @@ Move‐assign from another widget. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- link:#widget[widget]& -link:#widget-operator_assign-03[operator=](link:#widget[widget]&& other); +link:#widget-operator_assign-1-widget-rref[operator=](link:#widget[widget]&& other); ---- -[.small]#link:#widget-operator_assign-03[_» more..._]# +[.small]#link:#widget-operator_assign-1-widget-rref[_» more..._]# -[#widget-operator_assign-0b] +[#widget-operator_assign-1-const-widget-ref] == link:#widget[widget]::operator= Copy‐assign from another widget. @@ -86,7 +86,7 @@ Reference to the current object | The object to copy assign from |=== -[#widget-operator_assign-03] +[#widget-operator_assign-1-widget-rref] == link:#widget[widget]::operator= Move‐assign from another widget. diff --git a/tests/golden/fixtures/snippets/options/sort-members-conversion-last/sort-members-conversion-last.adoc b/tests/golden/fixtures/snippets/options/sort-members-conversion-last/sort-members-conversion-last.adoc index f6d1e95ae48..815d7dd3445 100644 --- a/tests/golden/fixtures/snippets/options/sort-members-conversion-last/sort-members-conversion-last.adoc +++ b/tests/golden/fixtures/snippets/options/sort-members-conversion-last/sort-members-conversion-last.adoc @@ -22,9 +22,9 @@ struct value; | Name| Description | link:#value-get[`get`] | Read the underlying integer. -| link:#value-2conversion-08[`operator bool`] +| link:#value-2conversion-bool[`operator bool`] | Convert to `bool` for use in conditions. -| link:#value-2conversion-09[`operator int`] +| link:#value-2conversion-int[`operator int`] | Convert to `int` for arithmetic contexts. |=== @@ -44,7 +44,7 @@ int get() const; ---- -[#value-2conversion-08] +[#value-2conversion-bool] == link:#value[value]::operator bool Convert to `bool` for use in conditions. @@ -63,7 +63,7 @@ operator bool() const; The object converted to `bool` -[#value-2conversion-09] +[#value-2conversion-int] == link:#value[value]::operator int Convert to `int` for arithmetic contexts. diff --git a/tests/golden/fixtures/snippets/options/sort-members-ctors-1st/sort-members-ctors-1st.adoc b/tests/golden/fixtures/snippets/options/sort-members-ctors-1st/sort-members-ctors-1st.adoc index 59ba426bc97..f3b7af709ab 100644 --- a/tests/golden/fixtures/snippets/options/sort-members-ctors-1st/sort-members-ctors-1st.adoc +++ b/tests/golden/fixtures/snippets/options/sort-members-ctors-1st/sort-members-ctors-1st.adoc @@ -20,7 +20,7 @@ struct widget; [cols="1,4"] |=== | Name| Description -| link:#widget-2constructor-05[`widget`] [.small]#[constructor]# +| link:#widget-2constructor[`widget`] [.small]#[constructor]# | Constructors | link:#widget-hide[`hide`] | Hide the widget. @@ -28,7 +28,8 @@ struct widget; | Show the widget. |=== -[#widget-2constructor-05] + +[#widget-2constructor] == link:#widget[widget]::widget Constructors @@ -42,22 +43,22 @@ Construct an empty widget. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -link:#widget-2constructor-03[widget](); +link:#widget-2constructor-0[widget](); ---- -[.small]#link:#widget-2constructor-03[_» more..._]# +[.small]#link:#widget-2constructor-0[_» more..._]# Construct a widget with the given label. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -link:#widget-2constructor-0a[widget](char const* label); +link:#widget-2constructor-1[widget](char const* label); ---- -[.small]#link:#widget-2constructor-0a[_» more..._]# +[.small]#link:#widget-2constructor-1[_» more..._]# -[#widget-2constructor-03] +[#widget-2constructor-0] == link:#widget[widget]::widget Construct an empty widget. @@ -71,7 +72,7 @@ Declared in `<sort‐members‐ctors‐1st.cpp>` widget(); ---- -[#widget-2constructor-0a] +[#widget-2constructor-1] == link:#widget[widget]::widget Construct a widget with the given label. diff --git a/tests/golden/fixtures/symbols/concept/requires-clause.xml b/tests/golden/fixtures/symbols/concept/requires-clause.xml index ca43b92fc8c..939b995a6f7 100644 --- a/tests/golden/fixtures/symbols/concept/requires-clause.xml +++ b/tests/golden/fixtures/symbols/concept/requires-clause.xml @@ -123,7 +123,7 @@ g - g-0f + g @@ -167,7 +167,7 @@ g - g-07 + g-0-t1-07 @@ -208,7 +208,7 @@ g - g-01 + g-0-t1-01 @@ -249,7 +249,7 @@ g - g-0c + g-0-t1-0c diff --git a/tests/golden/fixtures/symbols/function/conv-operator-names.xml b/tests/golden/fixtures/symbols/function/conv-operator-names.xml index 5eb83a63a39..c2f2040602c 100644 --- a/tests/golden/fixtures/symbols/function/conv-operator-names.xml +++ b/tests/golden/fixtures/symbols/function/conv-operator-names.xml @@ -98,7 +98,7 @@ operator CArray& - 2conversion-0251 + 2conversion-CArray-ref @@ -176,7 +176,7 @@ operator MyAlias - 2conversion-0252 + 2conversion-MyAlias @@ -232,7 +232,7 @@ operator Range - 2conversion-05 + 2conversion-Range @@ -283,7 +283,7 @@ operator Range - 2conversion-01 + 2conversion-Range-0-const-t1 @@ -357,7 +357,7 @@ operator Range - 2conversion-02a + 2conversion-Range-0-const-t2 @@ -448,7 +448,7 @@ operator T - 2conversion-00 + 2conversion-T @@ -512,7 +512,7 @@ operator T& - 2conversion-08 + 2conversion-T-ref @@ -581,7 +581,7 @@ operator T::type - 2conversion-07 + 2conversion-T-scope-type diff --git a/tests/golden/fixtures/symbols/function/doc-comment-macro-prefixed-inherited.xml b/tests/golden/fixtures/symbols/function/doc-comment-macro-prefixed-inherited.xml index 9632de77b51..55dddc10f53 100644 --- a/tests/golden/fixtures/symbols/function/doc-comment-macro-prefixed-inherited.xml +++ b/tests/golden/fixtures/symbols/function/doc-comment-macro-prefixed-inherited.xml @@ -237,7 +237,7 @@ S - S-04 + S doc-comment-macro-prefixed-inherited.cpp diff --git a/tests/golden/fixtures/symbols/function/explicit-conv-operator.xml b/tests/golden/fixtures/symbols/function/explicit-conv-operator.xml index 2b4cf129ad1..a1c041597a8 100644 --- a/tests/golden/fixtures/symbols/function/explicit-conv-operator.xml +++ b/tests/golden/fixtures/symbols/function/explicit-conv-operator.xml @@ -33,7 +33,7 @@ operator bool - 2conversion + 2conversion-bool @@ -148,7 +148,7 @@ operator bool - 2conversion + 2conversion-bool @@ -243,7 +243,7 @@ operator bool - 2conversion + 2conversion-bool @@ -338,7 +338,7 @@ operator bool - 2conversion + 2conversion-bool diff --git a/tests/golden/fixtures/symbols/function/explicit-ctor.xml b/tests/golden/fixtures/symbols/function/explicit-ctor.xml index a4b8422ba78..a24c1cc679b 100644 --- a/tests/golden/fixtures/symbols/function/explicit-ctor.xml +++ b/tests/golden/fixtures/symbols/function/explicit-ctor.xml @@ -33,7 +33,7 @@ Explicit - 2constructor-04 + 2constructor @@ -95,7 +95,7 @@ Explicit - 2constructor-02 + 2constructor-0 @@ -139,7 +139,7 @@ Explicit - 2constructor-00 + 2constructor-1-const-Explicit-ref @@ -218,7 +218,7 @@ Explicit - 2constructor-0b + 2constructor-1-Explicit-rref @@ -296,7 +296,7 @@ Explicit - 2constructor-03 + 2constructor-2 @@ -412,7 +412,7 @@ ExplicitExpression - 2constructor-07 + 2constructor @@ -474,7 +474,7 @@ ExplicitExpression - 2constructor-0b + 2constructor-0 @@ -518,7 +518,7 @@ ExplicitExpression - 2constructor-04 + 2constructor-1-const-ExplicitExpression-ref @@ -597,7 +597,7 @@ ExplicitExpression - 2constructor-08 + 2constructor-1-ExplicitExpression-rref @@ -675,7 +675,7 @@ ExplicitExpression - 2constructor-02 + 2constructor-2 @@ -771,7 +771,7 @@ ExplicitFalse - 2constructor-07 + 2constructor @@ -833,7 +833,7 @@ ExplicitFalse - 2constructor-01 + 2constructor-0 @@ -877,7 +877,7 @@ ExplicitFalse - 2constructor-08 + 2constructor-1-const-ExplicitFalse-ref @@ -956,7 +956,7 @@ ExplicitFalse - 2constructor-0a + 2constructor-1-ExplicitFalse-rref @@ -1034,7 +1034,7 @@ ExplicitFalse - 2constructor-04 + 2constructor-2 @@ -1130,7 +1130,7 @@ ExplicitTrue - 2constructor-01 + 2constructor @@ -1192,7 +1192,7 @@ ExplicitTrue - 2constructor-0d + 2constructor-0 @@ -1236,7 +1236,7 @@ ExplicitTrue - 2constructor-04 + 2constructor-1-const-ExplicitTrue-ref @@ -1315,7 +1315,7 @@ ExplicitTrue - 2constructor-08 + 2constructor-1-ExplicitTrue-rref @@ -1393,7 +1393,7 @@ ExplicitTrue - 2constructor-05 + 2constructor-2 diff --git a/tests/golden/fixtures/symbols/function/explicit-object-parameter.xml b/tests/golden/fixtures/symbols/function/explicit-object-parameter.xml index e6727b8d11f..bbbed80408d 100644 --- a/tests/golden/fixtures/symbols/function/explicit-object-parameter.xml +++ b/tests/golden/fixtures/symbols/function/explicit-object-parameter.xml @@ -33,7 +33,7 @@ value - value-0c + value @@ -71,7 +71,7 @@ value - value-05 + value-1 @@ -135,7 +135,7 @@ value - value-06 + value-2 diff --git a/tests/golden/fixtures/symbols/function/macro-shared-comment.xml b/tests/golden/fixtures/symbols/function/macro-shared-comment.xml index 435804f5649..b65ec6451c4 100644 --- a/tests/golden/fixtures/symbols/function/macro-shared-comment.xml +++ b/tests/golden/fixtures/symbols/function/macro-shared-comment.xml @@ -47,7 +47,7 @@ isPositive - isPositive-0d + isPositive macro-shared-comment.cpp @@ -114,7 +114,7 @@ isPositive - isPositive-0e + isPositive-1 macro-shared-comment.cpp diff --git a/tests/golden/fixtures/symbols/function/sfinae-out-of-line-definition.xml b/tests/golden/fixtures/symbols/function/sfinae-out-of-line-definition.xml index 5d4c9987322..e2b1c8e1dc3 100644 --- a/tests/golden/fixtures/symbols/function/sfinae-out-of-line-definition.xml +++ b/tests/golden/fixtures/symbols/function/sfinae-out-of-line-definition.xml @@ -34,7 +34,7 @@ enable_if - enable_if-07 + enable_if sfinae-out-of-line-definition.cpp @@ -119,7 +119,7 @@ enable_if - enable_if-00 + enable_if-2 sfinae-out-of-line-definition.cpp @@ -239,7 +239,7 @@ is_integral - is_integral-01 + is_integral sfinae-out-of-line-definition.cpp @@ -329,7 +329,7 @@ is_integral - is_integral-08 + is_integral-1 sfinae-out-of-line-definition.cpp diff --git a/tests/golden/fixtures/symbols/function/sfinae.xml b/tests/golden/fixtures/symbols/function/sfinae.xml index 5af9aeb9ac5..bda9ab2a00c 100644 --- a/tests/golden/fixtures/symbols/function/sfinae.xml +++ b/tests/golden/fixtures/symbols/function/sfinae.xml @@ -60,7 +60,7 @@ A - A-09 + A sfinae.cpp @@ -121,7 +121,7 @@ A - A-07 + A-1 sfinae.cpp @@ -178,7 +178,7 @@ S - S-02 + S sfinae.cpp @@ -297,7 +297,7 @@ S - S-08 + S-2 sfinae.cpp diff --git a/tests/golden/fixtures/symbols/function/spec-mem-implicit-instantiation.xml b/tests/golden/fixtures/symbols/function/spec-mem-implicit-instantiation.xml index 1679893583d..c0502c31b79 100644 --- a/tests/golden/fixtures/symbols/function/spec-mem-implicit-instantiation.xml +++ b/tests/golden/fixtures/symbols/function/spec-mem-implicit-instantiation.xml @@ -11,7 +11,7 @@ A - A-0e + A spec-mem-implicit-instantiation.cpp @@ -203,7 +203,7 @@ A - A-0f + A-1-bool spec-mem-implicit-instantiation.cpp @@ -276,7 +276,7 @@ C - C-00 + C @@ -305,7 +305,7 @@ C - C-01 + C-1-double-ptr spec-mem-implicit-instantiation.cpp @@ -393,7 +393,7 @@ C - C-0c + C-1-U-ptr spec-mem-implicit-instantiation.cpp @@ -512,7 +512,7 @@ A - A-000 + A-1-int spec-mem-implicit-instantiation.cpp @@ -556,7 +556,7 @@ B - B-03 + B @@ -585,7 +585,7 @@ B - B-09 + B-1 spec-mem-implicit-instantiation.cpp @@ -736,7 +736,7 @@ A - A-00b + A-1-short spec-mem-implicit-instantiation.cpp @@ -935,7 +935,7 @@ E - E-0e + E spec-mem-implicit-instantiation.cpp @@ -999,7 +999,7 @@ E - E-0d + E-1 spec-mem-implicit-instantiation.cpp diff --git a/tests/golden/fixtures/symbols/guide/explicit-deduct-guide.xml b/tests/golden/fixtures/symbols/guide/explicit-deduct-guide.xml index d443d5113ef..5a27a4c604f 100644 --- a/tests/golden/fixtures/symbols/guide/explicit-deduct-guide.xml +++ b/tests/golden/fixtures/symbols/guide/explicit-deduct-guide.xml @@ -12,7 +12,7 @@ X - X-0e + X explicit-deduct-guide.cpp @@ -49,7 +49,7 @@ X - X-0d + X-2guide-1-bool @@ -101,7 +101,7 @@ X - X-00 + X-2guide-1-char @@ -153,7 +153,7 @@ X - X-0b + X-2guide-1-int @@ -205,7 +205,7 @@ X - X-06 + X-2guide diff --git a/tests/golden/fixtures/symbols/overloads/overloads-attributes.xml b/tests/golden/fixtures/symbols/overloads/overloads-attributes.xml index 0d288d1176c..ca0bdfd2cb3 100644 --- a/tests/golden/fixtures/symbols/overloads/overloads-attributes.xml +++ b/tests/golden/fixtures/symbols/overloads/overloads-attributes.xml @@ -11,7 +11,7 @@ all_nodiscard - all_nodiscard-0f + all_nodiscard @@ -77,7 +77,7 @@ all_nodiscard - all_nodiscard-02 + all_nodiscard-0 @@ -126,7 +126,7 @@ all_nodiscard - all_nodiscard-0e + all_nodiscard-1 @@ -191,7 +191,7 @@ diff_message - diff_message-04 + diff_message @@ -257,7 +257,7 @@ diff_message - diff_message-06 + diff_message-0 @@ -310,7 +310,7 @@ diff_message - diff_message-0a + diff_message-1 @@ -379,7 +379,7 @@ same_message - same_message-0d + same_message @@ -449,7 +449,7 @@ same_message - same_message-04 + same_message-0 @@ -502,7 +502,7 @@ same_message - same_message-01 + same_message-1 @@ -571,7 +571,7 @@ some_nodiscard - some_nodiscard-0b + some_nodiscard @@ -631,7 +631,7 @@ some_nodiscard - some_nodiscard-01 + some_nodiscard-0 @@ -680,7 +680,7 @@ some_nodiscard - some_nodiscard-04 + some_nodiscard-1 diff --git a/tests/golden/fixtures/symbols/overloads/overloads-brief.xml b/tests/golden/fixtures/symbols/overloads/overloads-brief.xml index a741b377713..1ca4cb42b97 100644 --- a/tests/golden/fixtures/symbols/overloads/overloads-brief.xml +++ b/tests/golden/fixtures/symbols/overloads/overloads-brief.xml @@ -53,7 +53,7 @@ A - 2constructor-0f + 2constructor @@ -117,7 +117,7 @@ A - 2constructor-03 + 2constructor-0 @@ -162,7 +162,7 @@ A - 2constructor-01 + 2constructor-1 @@ -236,7 +236,7 @@ operator= - operator_assign-04c + operator_assign @@ -322,7 +322,7 @@ operator= - operator_assign-045 + operator_assign-1-const-A-ref @@ -424,7 +424,7 @@ operator= - operator_assign-06 + operator_assign-1-int @@ -520,7 +520,7 @@ operator+ - operator_plus-00 + operator_plus @@ -601,7 +601,7 @@ operator+ - operator_plus-0c + operator_plus-1-int @@ -692,7 +692,7 @@ operator+ - operator_plus-0e + operator_plus-1-const-A-ref @@ -789,7 +789,7 @@ operator- - operator_minus-09 + operator_minus @@ -853,7 +853,7 @@ operator- - operator_minus-02 + operator_minus-0 @@ -921,7 +921,7 @@ operator- - operator_minus-0c + operator_minus-1 @@ -1060,7 +1060,7 @@ no_way_to_infer_this_brief - no_way_to_infer_this_brief-04 + no_way_to_infer_this_brief @@ -1132,7 +1132,7 @@ no_way_to_infer_this_brief - no_way_to_infer_this_brief-02 + no_way_to_infer_this_brief-0 @@ -1175,7 +1175,7 @@ no_way_to_infer_this_brief - no_way_to_infer_this_brief-01 + no_way_to_infer_this_brief-1 @@ -1247,7 +1247,7 @@ operator+ - operator_plus-09 + operator_plus @@ -1310,7 +1310,7 @@ operator+ - operator_plus-0d + operator_plus-1-const-A-ref @@ -1407,7 +1407,7 @@ operator+ - operator_plus-06 + operator_plus-1-const-B-ref @@ -1504,7 +1504,7 @@ sameBrief - sameBrief-07 + sameBrief @@ -1577,7 +1577,7 @@ sameBrief - sameBrief-0a + sameBrief-1 @@ -1649,7 +1649,7 @@ sameBrief - sameBrief-0e + sameBrief-2 diff --git a/tests/golden/fixtures/symbols/overloads/overloads-metadata.xml b/tests/golden/fixtures/symbols/overloads/overloads-metadata.xml index 4229bfe5b05..1e6b9a123b8 100644 --- a/tests/golden/fixtures/symbols/overloads/overloads-metadata.xml +++ b/tests/golden/fixtures/symbols/overloads/overloads-metadata.xml @@ -11,7 +11,7 @@ f - f-0c + f @@ -221,7 +221,7 @@ f - f-08 + f-1 @@ -373,7 +373,7 @@ f - f-04 + f-2-int-comma-void-ptr @@ -486,7 +486,7 @@ f - f-02 + f-2-int-comma-int diff --git a/tests/golden/fixtures/symbols/overloads/overloads-ostream.xml b/tests/golden/fixtures/symbols/overloads/overloads-ostream.xml index 8897a5cff04..12b17397d4c 100644 --- a/tests/golden/fixtures/symbols/overloads/overloads-ostream.xml +++ b/tests/golden/fixtures/symbols/overloads/overloads-ostream.xml @@ -55,7 +55,7 @@ operator<< - operator_lshift-00 + operator_lshift @@ -111,7 +111,7 @@ operator<< - operator_lshift-0f + operator_lshift-1-unsigned-int @@ -201,7 +201,7 @@ operator<< - operator_lshift-0b + operator_lshift-1-char @@ -453,7 +453,7 @@ operator<< - operator_lshift-0f + operator_lshift @@ -509,7 +509,7 @@ operator<< - operator_lshift-0d + operator_lshift-2-OStream-ref-comma-B @@ -636,7 +636,7 @@ operator<< - operator_lshift-0a + operator_lshift-2-OStream-ref-comma-C diff --git a/tests/golden/fixtures/symbols/overloads/overloads.xml b/tests/golden/fixtures/symbols/overloads/overloads.xml index 05fafb0c15a..d0e803af9dd 100644 --- a/tests/golden/fixtures/symbols/overloads/overloads.xml +++ b/tests/golden/fixtures/symbols/overloads/overloads.xml @@ -43,7 +43,7 @@ f - f-07 + f @@ -76,7 +76,7 @@ f - f-08 + f-0 @@ -109,7 +109,7 @@ f - f-0e + f-1 @@ -158,7 +158,7 @@ g - g-0d + g @@ -191,7 +191,7 @@ g - g-0a + g-0 @@ -225,7 +225,7 @@ g - g-01 + g-1 @@ -306,7 +306,7 @@ f - f-0c + f @@ -338,7 +338,7 @@ f - f-0b + f-0 @@ -369,7 +369,7 @@ f - f-06 + f-1 @@ -416,7 +416,7 @@ operator== - operator_eq-073 + operator_eq @@ -479,7 +479,7 @@ operator== - operator_eq-0e + operator_eq-2-A-comma-int @@ -611,7 +611,7 @@ operator== - operator_eq-0a + operator_eq-2-A-comma-A @@ -743,7 +743,7 @@ operator== - operator_eq-08 + operator_eq-2-B-comma-B @@ -880,7 +880,7 @@ operator== - operator_eq-071 + operator_eq-2-B-comma-int diff --git a/tests/golden/fixtures/symbols/record/class-template-array-spec.xml b/tests/golden/fixtures/symbols/record/class-template-array-spec.xml index b4983257d33..97a829dff4b 100644 --- a/tests/golden/fixtures/symbols/record/class-template-array-spec.xml +++ b/tests/golden/fixtures/symbols/record/class-template-array-spec.xml @@ -11,7 +11,7 @@ A - A-000 + A class-template-array-spec.cpp @@ -102,7 +102,7 @@ A - A-004 + A-3 class-template-array-spec.cpp diff --git a/tests/golden/fixtures/symbols/record/class-template-partial-spec.xml b/tests/golden/fixtures/symbols/record/class-template-partial-spec.xml index 0797e514012..93c0fca34e6 100644 --- a/tests/golden/fixtures/symbols/record/class-template-partial-spec.xml +++ b/tests/golden/fixtures/symbols/record/class-template-partial-spec.xml @@ -42,7 +42,7 @@ B - B-0a + B class-template-partial-spec.cpp @@ -75,7 +75,7 @@ B - B-04 + B-2-T-comma-long class-template-partial-spec.cpp @@ -128,7 +128,7 @@ B - B-06 + B-2-U-ptr-comma-T class-template-partial-spec.cpp diff --git a/tests/golden/fixtures/symbols/record/class-template-spec.xml b/tests/golden/fixtures/symbols/record/class-template-spec.xml index 768acd77200..2a54e1919d4 100644 --- a/tests/golden/fixtures/symbols/record/class-template-spec.xml +++ b/tests/golden/fixtures/symbols/record/class-template-spec.xml @@ -11,7 +11,7 @@ A - A-0e + A class-template-spec.cpp @@ -76,7 +76,7 @@ A - A-00 + A-1-int class-template-spec.cpp @@ -152,7 +152,7 @@ A - A-0c + A-1-long class-template-spec.cpp @@ -228,7 +228,7 @@ B - B-00 + B class-template-spec.cpp @@ -293,7 +293,7 @@ B - B-06 + B-1-T-ref class-template-spec.cpp @@ -380,7 +380,7 @@ B - B-07 + B-1-T-ptr class-template-spec.cpp @@ -467,7 +467,7 @@ C - C-0f + C class-template-spec.cpp @@ -537,7 +537,7 @@ C - C-0a + C-2-int-comma-int class-template-spec.cpp @@ -628,7 +628,7 @@ C - C-0e + C-2-T-ptr-comma-int class-template-spec.cpp diff --git a/tests/golden/fixtures/symbols/record/class-template-specializations-1.xml b/tests/golden/fixtures/symbols/record/class-template-specializations-1.xml index 3a9f1e1c44b..e7ac0efceee 100644 --- a/tests/golden/fixtures/symbols/record/class-template-specializations-1.xml +++ b/tests/golden/fixtures/symbols/record/class-template-specializations-1.xml @@ -8006,7 +8006,7 @@ S0 - S0-0cf + S0 class-template-specializations-1.cpp @@ -8824,7 +8824,7 @@ S0 - S0-0be + S0-1-0 class-template-specializations-1.cpp @@ -8852,7 +8852,7 @@ S0 - S0-07a + S0-1-18 class-template-specializations-1.cpp @@ -8905,7 +8905,7 @@ S5 - S5-07 + S5 class-template-specializations-1.cpp @@ -9007,7 +9007,7 @@ S0 - S0-0a7 + S0-1-19 class-template-specializations-1.cpp @@ -9060,7 +9060,7 @@ S5 - S5-03 + S5 @@ -9122,7 +9122,7 @@ S5 - S5-07 + S5-1 class-template-specializations-1.cpp @@ -9184,7 +9184,7 @@ S0 - S0-09c + S0-1-2 class-template-specializations-1.cpp @@ -9339,7 +9339,7 @@ S0 - S0-0314 + S0-1-21 class-template-specializations-1.cpp @@ -9392,7 +9392,7 @@ S5 - S5-07 + S5 @@ -9455,7 +9455,7 @@ S5 - S5-03 + S5-2-22-comma-int-ptr class-template-specializations-1.cpp @@ -9504,7 +9504,7 @@ S5 - S5-0b + S5-2-22-comma-T-ptr class-template-specializations-1.cpp @@ -9591,7 +9591,7 @@ S0 - S0-020a + S0-2-1-comma-int-ptr class-template-specializations-1.cpp @@ -9639,7 +9639,7 @@ S0 - S0-0c4 + S0-2-1-comma-T-ptr class-template-specializations-1.cpp diff --git a/tests/golden/fixtures/symbols/record/class-template-specializations-2.xml b/tests/golden/fixtures/symbols/record/class-template-specializations-2.xml index f2d1b207b9f..4b9009d9e7d 100644 --- a/tests/golden/fixtures/symbols/record/class-template-specializations-2.xml +++ b/tests/golden/fixtures/symbols/record/class-template-specializations-2.xml @@ -11,7 +11,7 @@ A - A-0e + A class-template-specializations-2.cpp @@ -38,7 +38,7 @@ A - A-06 + A-1-double class-template-specializations-2.cpp @@ -81,7 +81,7 @@ D - D-0b + D class-template-specializations-2.cpp @@ -114,7 +114,7 @@ E - E-01 + E class-template-specializations-2.cpp @@ -142,7 +142,7 @@ E - E-04 + E-1 class-template-specializations-2.cpp @@ -215,7 +215,7 @@ D - D-04 + D-1 class-template-specializations-2.cpp @@ -259,7 +259,7 @@ G - G-06 + G class-template-specializations-2.cpp @@ -287,7 +287,7 @@ G - G-0c + G-1 class-template-specializations-2.cpp @@ -337,7 +337,7 @@ A - A-03 + A-1-T-ptr class-template-specializations-2.cpp @@ -391,7 +391,7 @@ B - B-05 + B class-template-specializations-2.cpp @@ -419,7 +419,7 @@ B - B-0b + B-1-int class-template-specializations-2.cpp @@ -458,7 +458,7 @@ B - B-01 + B-1-U-ptr class-template-specializations-2.cpp diff --git a/tests/golden/fixtures/symbols/record/class-template-specializations-3.xml b/tests/golden/fixtures/symbols/record/class-template-specializations-3.xml index da4c63aa1f5..17ebb7a09c9 100644 --- a/tests/golden/fixtures/symbols/record/class-template-specializations-3.xml +++ b/tests/golden/fixtures/symbols/record/class-template-specializations-3.xml @@ -11,7 +11,7 @@ A - A-0e + A class-template-specializations-3.cpp @@ -43,7 +43,7 @@ B - B-07 + B class-template-specializations-3.cpp @@ -94,7 +94,7 @@ D - D-09 + D class-template-specializations-3.cpp @@ -122,7 +122,7 @@ D - D-0f + D-1 class-template-specializations-3.cpp @@ -161,7 +161,7 @@ B - B-00 + B-1 class-template-specializations-3.cpp @@ -223,7 +223,7 @@ D - D-09 + D class-template-specializations-3.cpp @@ -251,7 +251,7 @@ D - D-0d + D-1 class-template-specializations-3.cpp @@ -290,7 +290,7 @@ A - A-0c + A-1-long class-template-specializations-3.cpp @@ -333,7 +333,7 @@ B - B-0b + B class-template-specializations-3.cpp @@ -392,7 +392,7 @@ D - D-00 + D class-template-specializations-3.cpp @@ -420,7 +420,7 @@ D - D-0b + D-1 class-template-specializations-3.cpp @@ -459,7 +459,7 @@ B - B-0d + B-1-double class-template-specializations-3.cpp @@ -521,7 +521,7 @@ D - D-0c + D @@ -550,7 +550,7 @@ D - D-03 + D-1 class-template-specializations-3.cpp @@ -589,7 +589,7 @@ A - A-00 + A-1-short class-template-specializations-3.cpp @@ -632,7 +632,7 @@ B - B-0e + B @@ -661,7 +661,7 @@ B - B-07 + B-1-double class-template-specializations-3.cpp @@ -725,7 +725,7 @@ D - D-015b + D @@ -754,7 +754,7 @@ D - D-0150 + D-1 class-template-specializations-3.cpp @@ -793,7 +793,7 @@ B - B-00 + B-1-void class-template-specializations-3.cpp @@ -855,7 +855,7 @@ D - D-03 + D class-template-specializations-3.cpp @@ -883,7 +883,7 @@ D - D-07 + D-1 class-template-specializations-3.cpp diff --git a/tests/golden/fixtures/symbols/record/conditional-explicit.xml b/tests/golden/fixtures/symbols/record/conditional-explicit.xml index eba39e88657..cf53534c20c 100644 --- a/tests/golden/fixtures/symbols/record/conditional-explicit.xml +++ b/tests/golden/fixtures/symbols/record/conditional-explicit.xml @@ -42,7 +42,7 @@ A - 2constructor-0f + 2constructor @@ -108,7 +108,7 @@ A - 2constructor-0b + 2constructor-1-char @@ -182,7 +182,7 @@ A - 2constructor-00 + 2constructor-1-double @@ -256,7 +256,7 @@ A - 2constructor-01 + 2constructor-1-int @@ -330,7 +330,7 @@ A - 2constructor-02 + 2constructor-1-U @@ -412,7 +412,7 @@ operator U - 2conversion-0f + 2conversion-U @@ -486,7 +486,7 @@ operator bool - 2conversion-00 + 2conversion-bool @@ -552,7 +552,7 @@ operator char - 2conversion-04 + 2conversion-char @@ -618,7 +618,7 @@ operator double - 2conversion-01 + 2conversion-double diff --git a/tests/golden/fixtures/symbols/record/dtor-overloads.xml b/tests/golden/fixtures/symbols/record/dtor-overloads.xml index 896d862efcf..439364ce5e0 100644 --- a/tests/golden/fixtures/symbols/record/dtor-overloads.xml +++ b/tests/golden/fixtures/symbols/record/dtor-overloads.xml @@ -42,7 +42,7 @@ ~A - 2destructor-02 + 2destructor @@ -92,7 +92,7 @@ ~A - 2destructor-0d + 2destructor-0-0d @@ -137,7 +137,7 @@ ~A - 2destructor-00 + 2destructor-0-00 diff --git a/tests/golden/fixtures/symbols/record/friend-explicit-specialization.xml b/tests/golden/fixtures/symbols/record/friend-explicit-specialization.xml index 6fec4ca8292..ee46c0b752b 100644 --- a/tests/golden/fixtures/symbols/record/friend-explicit-specialization.xml +++ b/tests/golden/fixtures/symbols/record/friend-explicit-specialization.xml @@ -82,7 +82,7 @@ f - f-0c + f friend-explicit-specialization.cpp @@ -142,7 +142,7 @@ f - f-0b + f-1-T friend-explicit-specialization.cpp @@ -208,7 +208,7 @@ f - f-04 + f-1-X diff --git a/tests/golden/fixtures/symbols/record/specialization-order.adoc b/tests/golden/fixtures/symbols/record/specialization-order.adoc index e76c63175f6..b18611815f4 100644 --- a/tests/golden/fixtures/symbols/record/specialization-order.adoc +++ b/tests/golden/fixtures/symbols/record/specialization-order.adoc @@ -9,14 +9,14 @@ [cols="1,4"] |=== | Name| Description -| link:#A-09[`A`] +| link:#A[`A`] | Primary class template. -| link:#B-00[`B`] +| link:#B[`B`] | Class template with deduction guides. |=== -[#A-09] +[#A] == A Primary class template. @@ -38,17 +38,17 @@ struct A; [cols="1,4"] |=== | Name| Description -| link:#A-060[`A<int, int>`] +| link:#A-2-int-comma-int[`A<int, int>`] | Specialization for two ints. -| link:#A-00[`A<T&, U>`] +| link:#A-2-T-ref-comma-U[`A<T&, U>`] | Specialization for a reference. -| link:#A-06c[`A<T*, U>`] +| link:#A-2-T-ptr-comma-U[`A<T*, U>`] | Specialization for a pointer. |=== -[#A-060] -== link:#A-09[A]<int, int> +[#A-2-int-comma-int] +== link:#A[A]<int, int> Specialization for two ints. @@ -59,11 +59,11 @@ Declared in `<specialization‐order.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<> -struct link:#A-09[A]<int, int>; +struct link:#A[A]<int, int>; ---- -[#A-00] -== link:#A-09[A]<T&, U> +[#A-2-T-ref-comma-U] +== link:#A[A]<T&, U> Specialization for a reference. @@ -76,11 +76,11 @@ Declared in `<specialization‐order.cpp>` template< typename T, typename U> -struct link:#A-09[A]<T&, U>; +struct link:#A[A]<T&, U>; ---- -[#A-06c] -== link:#A-09[A]<T*, U> +[#A-2-T-ptr-comma-U] +== link:#A[A]<T*, U> Specialization for a pointer. @@ -93,10 +93,10 @@ Declared in `<specialization‐order.cpp>` template< typename T, typename U> -struct link:#A-09[A]<T*, U>; +struct link:#A[A]<T*, U>; ---- -[#B-00] +[#B] == B Class template with deduction guides. @@ -116,7 +116,7 @@ struct B; [cols="1,4"] |=== | Name| Description -| link:#B-00-2constructor[`B`] [.small]#[constructor]# +| link:#B-2constructor[`B`] [.small]#[constructor]# | Constructor. |=== @@ -126,19 +126,19 @@ struct B; [cols="1,4"] |=== | Name| Description -| link:#B-05[`B<T>`] +| link:#B-2guide[`B<T>`] | Guide taking a pointer. -| link:#B-0a7[`B<char>`] +| link:#B-2guide-1-int[`B<char>`] | Guide deducing a different specialization, so what it deduces decides its place rather than what it takes. -| link:#B-0c[`B<int>`] +| link:#B-2guide-1-bool[`B<int>`] | Guide taking a bool. -| link:#B-0ad[`B<int>`] +| link:#B-2guide-1-char[`B<int>`] | Guide taking a char. |=== -[#B-00-2constructor] -== link:#B-00[B]::B +[#B-2constructor] +== link:#B[B]::B Constructor. @@ -160,8 +160,8 @@ B(T value); | The object to construct from |=== -[#B-05] -== link:#B-00[B<T>] +[#B-2guide] +== link:#B[B<T>] Guide taking a pointer. @@ -172,11 +172,11 @@ Declared in `<specialization‐order.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename T> -link:#B-00[B<T>](T*) -> link:#B-00[B<T>]; +link:#B[B<T>](T*) -> link:#B[B<T>]; ---- -[#B-0a7] -== link:#B-00[B<char>] +[#B-2guide-1-int] +== link:#B[B<char>] Guide deducing a different specialization, so what it deduces decides its place rather than what it takes. @@ -186,11 +186,11 @@ Declared in `<specialization‐order.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -link:#B-00[B<char>](int) -> link:#B-00[B<char>]; +link:#B[B<char>](int) -> link:#B[B<char>]; ---- -[#B-0c] -== link:#B-00[B<int>] +[#B-2guide-1-bool] +== link:#B[B<int>] Guide taking a bool. @@ -200,11 +200,11 @@ Declared in `<specialization‐order.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -link:#B-00[B<int>](bool) -> link:#B-00[B<int>]; +link:#B[B<int>](bool) -> link:#B[B<int>]; ---- -[#B-0ad] -== link:#B-00[B<int>] +[#B-2guide-1-char] +== link:#B[B<int>] Guide taking a char. @@ -214,7 +214,7 @@ Declared in `<specialization‐order.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -link:#B-00[B<int>](char) -> link:#B-00[B<int>]; +link:#B[B<int>](char) -> link:#B[B<int>]; ---- diff --git a/tests/golden/fixtures/symbols/record/specializations-and-guides.adoc b/tests/golden/fixtures/symbols/record/specializations-and-guides.adoc index 8d52d4a502e..9890890077e 100644 --- a/tests/golden/fixtures/symbols/record/specializations-and-guides.adoc +++ b/tests/golden/fixtures/symbols/record/specializations-and-guides.adoc @@ -9,14 +9,14 @@ [cols="1,4"] |=== | Name| Description -| link:#A-0e[`A`] +| link:#A[`A`] | Primary class template. -| link:#B-00[`B`] +| link:#B[`B`] | Class template with a deduction guide. |=== -[#A-0e] +[#A] == A Primary class template. @@ -36,7 +36,7 @@ struct A; [cols="1,4"] |=== | Name| Description -| link:#A-0e-f[`f`] +| link:#A-f[`f`] | A member function. |=== @@ -46,13 +46,13 @@ struct A; [cols="1,4"] |=== | Name| Description -| link:#A-00[`A<int>`] +| link:#A-1[`A<int>`] | Explicit specialization of the primary. |=== -[#A-0e-f] -== link:#A-0e[A]::f +[#A-f] +== link:#A[A]::f A member function. @@ -66,8 +66,8 @@ void f(); ---- -[#A-00] -== link:#A-0e[A]<int> +[#A-1] +== link:#A[A]<int> Explicit specialization of the primary. @@ -78,10 +78,10 @@ Declared in `<specializations‐and‐guides.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<> -struct link:#A-0e[A]<int>; +struct link:#A[A]<int>; ---- -[#B-00] +[#B] == B Class template with a deduction guide. @@ -101,13 +101,13 @@ struct B; [cols="1,4"] |=== | Name| Description -| link:#B-0c[`B<0>`] +| link:#B-2guide[`B<0>`] | Deduction guide for B. |=== -[#B-0c] -== link:#B-00[B<0>] +[#B-2guide] +== link:#B[B<0>] Deduction guide for B. @@ -117,7 +117,7 @@ Declared in `<specializations‐and‐guides.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -link:#B-00[B<0>](bool) -> link:#B-00[B<0>]; +link:#B[B<0>](bool) -> link:#B[B<0>]; ---- diff --git a/tests/golden/fixtures/symbols/record/template-specialization-inheritance.xml b/tests/golden/fixtures/symbols/record/template-specialization-inheritance.xml index 60218f4c864..2a334eaedd6 100644 --- a/tests/golden/fixtures/symbols/record/template-specialization-inheritance.xml +++ b/tests/golden/fixtures/symbols/record/template-specialization-inheritance.xml @@ -304,7 +304,7 @@ S0 - S0-0cf + S0 template-specialization-inheritance.cpp @@ -388,7 +388,7 @@ S0 - S0-073 + S0-1-3 template-specialization-inheritance.cpp @@ -416,7 +416,7 @@ S0 - S0-07e + S0-1-6 template-specialization-inheritance.cpp diff --git a/tests/golden/fixtures/symbols/typedef/decay-to-primary.xml b/tests/golden/fixtures/symbols/typedef/decay-to-primary.xml index eba2b1f7158..bad907dd535 100644 --- a/tests/golden/fixtures/symbols/typedef/decay-to-primary.xml +++ b/tests/golden/fixtures/symbols/typedef/decay-to-primary.xml @@ -122,7 +122,7 @@ S0 - S0-03 + S0 decay-to-primary.cpp diff --git a/tests/golden/fixtures/symbols/typedef/dependency-propagation.xml b/tests/golden/fixtures/symbols/typedef/dependency-propagation.xml index ef9a72c33b7..e7722a8d445 100644 --- a/tests/golden/fixtures/symbols/typedef/dependency-propagation.xml +++ b/tests/golden/fixtures/symbols/typedef/dependency-propagation.xml @@ -146,7 +146,7 @@ A - A-03 + A dependency-propagation.cpp diff --git a/tests/golden/fixtures/symbols/typedef/implicit-instantiation-member-ref.xml b/tests/golden/fixtures/symbols/typedef/implicit-instantiation-member-ref.xml index 72341e987b5..79c6cf1756f 100644 --- a/tests/golden/fixtures/symbols/typedef/implicit-instantiation-member-ref.xml +++ b/tests/golden/fixtures/symbols/typedef/implicit-instantiation-member-ref.xml @@ -170,7 +170,7 @@ S0 - S0-03 + S0 implicit-instantiation-member-ref.cpp diff --git a/tests/golden/fixtures/symbols/using/using-alias-template-dependent.xml b/tests/golden/fixtures/symbols/using/using-alias-template-dependent.xml index 665be0bbf79..7bdb7952a7a 100644 --- a/tests/golden/fixtures/symbols/using/using-alias-template-dependent.xml +++ b/tests/golden/fixtures/symbols/using/using-alias-template-dependent.xml @@ -109,7 +109,7 @@ enable_if - enable_if-03 + enable_if using-alias-template-dependent.cpp @@ -188,7 +188,7 @@ enable_if - enable_if-0e + enable_if-2 using-alias-template-dependent.cpp diff --git a/tests/golden/fixtures/symbols/using/using-function-after.xml b/tests/golden/fixtures/symbols/using/using-function-after.xml index 23ae5e295af..aad3fed2717 100644 --- a/tests/golden/fixtures/symbols/using/using-function-after.xml +++ b/tests/golden/fixtures/symbols/using/using-function-after.xml @@ -39,7 +39,7 @@ f - f-08 + f @@ -99,7 +99,7 @@ f - f-00 + f-1-char @@ -178,7 +178,7 @@ f - f-01 + f-1-int @@ -282,7 +282,7 @@ f - f-01 + f-1-int diff --git a/tests/golden/fixtures/symbols/using/using-function-and-type.xml b/tests/golden/fixtures/symbols/using/using-function-and-type.xml index 048bc99768d..dd4b9f1bccc 100644 --- a/tests/golden/fixtures/symbols/using/using-function-and-type.xml +++ b/tests/golden/fixtures/symbols/using/using-function-and-type.xml @@ -34,7 +34,7 @@ f - f-05 + f using-function-and-type.cpp @@ -63,7 +63,7 @@ f - f-01 + f-2function @@ -167,7 +167,7 @@ f - f-05 + f using-function-and-type.cpp @@ -196,7 +196,7 @@ f - f-01 + f-2function diff --git a/tests/golden/fixtures/symbols/using/using-function-local-overloads.xml b/tests/golden/fixtures/symbols/using/using-function-local-overloads.xml index 5ac350574d2..30bedb66363 100644 --- a/tests/golden/fixtures/symbols/using/using-function-local-overloads.xml +++ b/tests/golden/fixtures/symbols/using/using-function-local-overloads.xml @@ -34,7 +34,7 @@ f - f-08 + f @@ -101,7 +101,7 @@ f - f-039 + f-0 @@ -144,7 +144,7 @@ f - f-01 + f-1 @@ -203,7 +203,7 @@ f - f-037 + f-2 @@ -276,7 +276,7 @@ f - f-0f + f @@ -335,7 +335,7 @@ f - f-02 + f-using @@ -368,7 +368,7 @@ f - f-08 + f @@ -435,7 +435,7 @@ f - f-039 + f-0 @@ -478,7 +478,7 @@ f - f-01 + f-1 @@ -537,7 +537,7 @@ f - f-037 + f-2 diff --git a/tests/golden/fixtures/symbols/using/using-function-overloads.xml b/tests/golden/fixtures/symbols/using/using-function-overloads.xml index 633438d2d74..8358d278a68 100644 --- a/tests/golden/fixtures/symbols/using/using-function-overloads.xml +++ b/tests/golden/fixtures/symbols/using/using-function-overloads.xml @@ -33,7 +33,7 @@ f - f-08 + f @@ -100,7 +100,7 @@ f - f-039 + f-0 @@ -143,7 +143,7 @@ f - f-01 + f-1 @@ -202,7 +202,7 @@ f - f-037 + f-2 @@ -320,7 +320,7 @@ f - f-08 + f @@ -387,7 +387,7 @@ f - f-039 + f-0 @@ -430,7 +430,7 @@ f - f-01 + f-1 @@ -489,7 +489,7 @@ f - f-037 + f-2 diff --git a/tests/golden/fixtures/symbols/using/using-member-conversion.xml b/tests/golden/fixtures/symbols/using/using-member-conversion.xml index 4a5c308fee5..0d1a06fe312 100644 --- a/tests/golden/fixtures/symbols/using/using-member-conversion.xml +++ b/tests/golden/fixtures/symbols/using/using-member-conversion.xml @@ -100,7 +100,7 @@ operator fun_ptr - 2conversion + 2conversion-fun_ptr @@ -217,7 +217,7 @@ operator fun_ptr - 2conversion + 2conversion-fun_ptr @@ -274,7 +274,7 @@ operator fun_ptr - 2conversion + 2conversion-fun_ptr @@ -320,7 +320,7 @@ operator fun_ptr - 2conversion + 2conversion-fun_ptr diff --git a/tests/golden/fixtures/symbols/using/using-member-function.xml b/tests/golden/fixtures/symbols/using/using-member-function.xml index 53697f9e0dd..1d13fdc2730 100644 --- a/tests/golden/fixtures/symbols/using/using-member-function.xml +++ b/tests/golden/fixtures/symbols/using/using-member-function.xml @@ -909,7 +909,7 @@ U - U-0a + U-using-A @@ -954,7 +954,7 @@ U - U-01b + U-using-B @@ -999,7 +999,7 @@ U - U-01d + U-using-C @@ -1044,7 +1044,7 @@ U - U-0c + U-using-D @@ -1089,7 +1089,7 @@ U - U-04 + U-using-E @@ -1134,7 +1134,7 @@ U - U-06 + U-using-F @@ -1179,7 +1179,7 @@ f - f-00c + f-using-A @@ -1303,7 +1303,7 @@ f - f-0be + f-using-B @@ -1416,7 +1416,7 @@ f - f-0f + f-using-C @@ -1529,7 +1529,7 @@ f - f-009 + f-using-D @@ -1642,7 +1642,7 @@ f - f-0bd + f-using-E @@ -1755,7 +1755,7 @@ f - f-02 + f-using-F @@ -1868,7 +1868,7 @@ f - f-07 + f diff --git a/tests/golden/fixtures/symbols/variable/default-constructed-instance.xml b/tests/golden/fixtures/symbols/variable/default-constructed-instance.xml index 22d6309d90f..45d4f57262f 100644 --- a/tests/golden/fixtures/symbols/variable/default-constructed-instance.xml +++ b/tests/golden/fixtures/symbols/variable/default-constructed-instance.xml @@ -12,7 +12,7 @@ flag - flag-0e6 + flag default-constructed-instance.cpp @@ -126,7 +126,7 @@ flag - flag-0e0 + flag-2variable default-constructed-instance.cpp diff --git a/tests/golden/fixtures/symbols/variable/function-objects.xml b/tests/golden/fixtures/symbols/variable/function-objects.xml index f384b982a5d..bf8ce690c7c 100644 --- a/tests/golden/fixtures/symbols/variable/function-objects.xml +++ b/tests/golden/fixtures/symbols/variable/function-objects.xml @@ -428,7 +428,7 @@ all_special_fn - 2constructor-03 + 2constructor function-objects.cpp @@ -470,7 +470,7 @@ all_special_fn - 2constructor-0e + 2constructor-0 function-objects.cpp @@ -515,7 +515,7 @@ all_special_fn - 2constructor-02 + 2constructor-1-const-all_special_fn-ref function-objects.cpp @@ -595,7 +595,7 @@ all_special_fn - 2constructor-09 + 2constructor-1-all_special_fn-rref function-objects.cpp @@ -719,7 +719,7 @@ operator= - operator_assign-0e1 + operator_assign function-objects.cpp @@ -767,7 +767,7 @@ operator= - operator_assign-0e9 + operator_assign-1-const-all_special_fn-ref function-objects.cpp @@ -864,7 +864,7 @@ operator= - operator_assign-05 + operator_assign-1-all_special_fn-rref function-objects.cpp @@ -2675,7 +2675,7 @@ operator() - operator_call-0e + operator_call @@ -2761,7 +2761,7 @@ operator() - operator_call-0d + operator_call-0 @@ -2819,7 +2819,7 @@ operator() - operator_call-04 + operator_call-2 @@ -3726,7 +3726,7 @@ template_ctor_fn - 2constructor-07 + 2constructor function-objects.cpp @@ -3776,7 +3776,7 @@ template_ctor_fn - 2constructor-058 + 2constructor-0 function-objects.cpp @@ -3821,7 +3821,7 @@ template_ctor_fn - 2constructor-057 + 2constructor-1 @@ -5023,7 +5023,7 @@ multi_overload - multi_overload-06 + multi_overload @@ -5116,7 +5116,7 @@ multi_overload - multi_overload-0d + multi_overload-0 @@ -5171,7 +5171,7 @@ multi_overload - multi_overload-00 + multi_overload-2 diff --git a/tests/golden/fixtures/symbols/variable/ns-variables.xml b/tests/golden/fixtures/symbols/variable/ns-variables.xml index 4a5149491c8..369dd2b8578 100644 --- a/tests/golden/fixtures/symbols/variable/ns-variables.xml +++ b/tests/golden/fixtures/symbols/variable/ns-variables.xml @@ -12,7 +12,7 @@ T - T-00 + T ns-variables.cpp @@ -196,7 +196,7 @@ t - t-07 + t-2variable diff --git a/tests/golden/fixtures/symbols/variable/static-data-template.xml b/tests/golden/fixtures/symbols/variable/static-data-template.xml index 15f8183b2d7..37c83187276 100644 --- a/tests/golden/fixtures/symbols/variable/static-data-template.xml +++ b/tests/golden/fixtures/symbols/variable/static-data-template.xml @@ -42,7 +42,7 @@ x - x-05 + x static-data-template.cpp @@ -88,7 +88,7 @@ x - x-07 + x-2-T-comma-long static-data-template.cpp @@ -154,7 +154,7 @@ x - x-0a + x-2-U-ptr-comma-T static-data-template.cpp diff --git a/tests/golden/fixtures/symbols/variable/var-template.xml b/tests/golden/fixtures/symbols/variable/var-template.xml index e3af74b74ba..69c427dc799 100644 --- a/tests/golden/fixtures/symbols/variable/var-template.xml +++ b/tests/golden/fixtures/symbols/variable/var-template.xml @@ -34,7 +34,7 @@ C - C-09 + C var-template.cpp @@ -75,7 +75,7 @@ C - C-05 + C-1-int var-template.cpp @@ -126,7 +126,7 @@ C - C-0c + C-1-T-ptr var-template.cpp @@ -188,7 +188,7 @@ A - A-0c + A var-template.cpp @@ -226,7 +226,7 @@ A - A-08 + A-1-void var-template.cpp @@ -274,7 +274,7 @@ A - A-01 + A-1-T-ref var-template.cpp diff --git a/tests/golden/fixtures/templates/c_mct_expl_inline.xml b/tests/golden/fixtures/templates/c_mct_expl_inline.xml index 72b89b52e3f..0a4e22035a3 100644 --- a/tests/golden/fixtures/templates/c_mct_expl_inline.xml +++ b/tests/golden/fixtures/templates/c_mct_expl_inline.xml @@ -33,7 +33,7 @@ B - B-04 + B c_mct_expl_inline.cpp @@ -97,7 +97,7 @@ B - B-01 + B-1 c_mct_expl_inline.cpp diff --git a/tests/golden/fixtures/templates/c_mct_expl_outside.xml b/tests/golden/fixtures/templates/c_mct_expl_outside.xml index 565deab979b..2f4d3a86143 100644 --- a/tests/golden/fixtures/templates/c_mct_expl_outside.xml +++ b/tests/golden/fixtures/templates/c_mct_expl_outside.xml @@ -33,7 +33,7 @@ B - B-04 + B c_mct_expl_outside.cpp @@ -97,7 +97,7 @@ B - B-01 + B-1 c_mct_expl_outside.cpp diff --git a/tests/golden/fixtures/templates/c_mft_expl_inline.xml b/tests/golden/fixtures/templates/c_mft_expl_inline.xml index f1b88eabc5b..eedb54c514b 100644 --- a/tests/golden/fixtures/templates/c_mft_expl_inline.xml +++ b/tests/golden/fixtures/templates/c_mft_expl_inline.xml @@ -33,7 +33,7 @@ f - f-07 + f c_mft_expl_inline.cpp @@ -64,7 +64,7 @@ f - f-0e + f-0-t1 c_mft_expl_inline.cpp @@ -105,7 +105,7 @@ f - f-0b + f-0-t0 c_mft_expl_inline.cpp diff --git a/tests/golden/fixtures/templates/c_mft_expl_outside.xml b/tests/golden/fixtures/templates/c_mft_expl_outside.xml index 76b9c06d311..090bf5e6ed2 100644 --- a/tests/golden/fixtures/templates/c_mft_expl_outside.xml +++ b/tests/golden/fixtures/templates/c_mft_expl_outside.xml @@ -33,7 +33,7 @@ f - f-07 + f c_mft_expl_outside.cpp @@ -64,7 +64,7 @@ f - f-0e + f-0-t1 c_mft_expl_outside.cpp @@ -105,7 +105,7 @@ f - f-0b + f-0-t0 c_mft_expl_outside.cpp diff --git a/tests/golden/fixtures/templates/ct_expl.xml b/tests/golden/fixtures/templates/ct_expl.xml index 4364705423b..1e234a44786 100644 --- a/tests/golden/fixtures/templates/ct_expl.xml +++ b/tests/golden/fixtures/templates/ct_expl.xml @@ -11,7 +11,7 @@ A - A-0e + A ct_expl.cpp @@ -74,7 +74,7 @@ A - A-00 + A-1 ct_expl.cpp diff --git a/tests/golden/fixtures/templates/ct_mc_expl_outside.xml b/tests/golden/fixtures/templates/ct_mc_expl_outside.xml index e68bf913c92..200af47b5b6 100644 --- a/tests/golden/fixtures/templates/ct_mc_expl_outside.xml +++ b/tests/golden/fixtures/templates/ct_mc_expl_outside.xml @@ -11,7 +11,7 @@ A - A-0e + A ct_mc_expl_outside.cpp @@ -97,7 +97,7 @@ A - A-00 + A-1 ct_mc_expl_outside.cpp diff --git a/tests/golden/fixtures/templates/ct_mct_expl_inline.xml b/tests/golden/fixtures/templates/ct_mct_expl_inline.xml index 315a6049c6f..e08ef756ea0 100644 --- a/tests/golden/fixtures/templates/ct_mct_expl_inline.xml +++ b/tests/golden/fixtures/templates/ct_mct_expl_inline.xml @@ -42,7 +42,7 @@ B - B-07 + B ct_mct_expl_inline.cpp @@ -106,7 +106,7 @@ B - B-06 + B-1 ct_mct_expl_inline.cpp diff --git a/tests/golden/fixtures/templates/ct_mct_expl_outside.xml b/tests/golden/fixtures/templates/ct_mct_expl_outside.xml index 5625a8f9c6f..ac8e61c1bb4 100644 --- a/tests/golden/fixtures/templates/ct_mct_expl_outside.xml +++ b/tests/golden/fixtures/templates/ct_mct_expl_outside.xml @@ -11,7 +11,7 @@ A - A-0e + A ct_mct_expl_outside.cpp @@ -107,7 +107,7 @@ A - A-00 + A-1 ct_mct_expl_outside.cpp @@ -150,7 +150,7 @@ B - B-03 + B @@ -179,7 +179,7 @@ B - B-02 + B-1 ct_mct_expl_outside.cpp diff --git a/tests/golden/fixtures/templates/ct_mf_expl_outside.xml b/tests/golden/fixtures/templates/ct_mf_expl_outside.xml index 5c6777a2c01..c26e456dfb8 100644 --- a/tests/golden/fixtures/templates/ct_mf_expl_outside.xml +++ b/tests/golden/fixtures/templates/ct_mf_expl_outside.xml @@ -11,7 +11,7 @@ A - A-0e + A ct_mf_expl_outside.cpp @@ -74,7 +74,7 @@ A - A-00 + A-1 ct_mf_expl_outside.cpp diff --git a/tests/golden/fixtures/templates/ct_mft_expl_inline.xml b/tests/golden/fixtures/templates/ct_mft_expl_inline.xml index 5e60e68db52..d92ec59ba71 100644 --- a/tests/golden/fixtures/templates/ct_mft_expl_inline.xml +++ b/tests/golden/fixtures/templates/ct_mft_expl_inline.xml @@ -42,7 +42,7 @@ f - f-00 + f ct_mft_expl_inline.cpp @@ -73,7 +73,7 @@ f - f-07 + f-0-t1 ct_mft_expl_inline.cpp @@ -114,7 +114,7 @@ f - f-04 + f-0-t0 ct_mft_expl_inline.cpp diff --git a/tests/golden/fixtures/templates/ct_mft_expl_outside.xml b/tests/golden/fixtures/templates/ct_mft_expl_outside.xml index 3da938dfc83..1835cf59c31 100644 --- a/tests/golden/fixtures/templates/ct_mft_expl_outside.xml +++ b/tests/golden/fixtures/templates/ct_mft_expl_outside.xml @@ -11,7 +11,7 @@ A - A-0e + A ct_mft_expl_outside.cpp @@ -84,7 +84,7 @@ A - A-00 + A-1 ct_mft_expl_outside.cpp @@ -127,7 +127,7 @@ f - f-0a + f ct_mft_expl_outside.cpp @@ -166,7 +166,7 @@ f - f-03 + f-0-t1 @@ -208,7 +208,7 @@ f - f-07 + f-0-t0 ct_mft_expl_outside.cpp diff --git a/tests/golden/fixtures/templates/ft_expl.xml b/tests/golden/fixtures/templates/ft_expl.xml index 2d4c0c944af..db46529c845 100644 --- a/tests/golden/fixtures/templates/ft_expl.xml +++ b/tests/golden/fixtures/templates/ft_expl.xml @@ -11,7 +11,7 @@ f - f-0c7 + f ft_expl.cpp @@ -41,7 +41,7 @@ f - f-03 + f-0-t1 ft_expl.cpp @@ -80,7 +80,7 @@ f - f-0ca + f-0-t0 ft_expl.cpp diff --git a/tests/golden/fixtures/templates/implicit-specialization-dependency.adoc b/tests/golden/fixtures/templates/implicit-specialization-dependency.adoc index 954c5f7cf7c..480a4c28daa 100644 --- a/tests/golden/fixtures/templates/implicit-specialization-dependency.adoc +++ b/tests/golden/fixtures/templates/implicit-specialization-dependency.adoc @@ -13,7 +13,7 @@ | A function. | link:#Kernel[`Kernel`] | A kernel. -| link:#Manager-06[`Manager`] +| link:#Manager[`Manager`] | A manager. | link:#Module[`Module`] | A module. @@ -51,7 +51,7 @@ Declared in `<implicit‐specialization‐dependency.cpp> [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -using FunctionManager = link:#Manager-06[Manager<Function>]; +using FunctionManager = link:#Manager[Manager<Function>]; ---- [#Function] @@ -82,7 +82,7 @@ Declared in `<implicit‐specialization‐dependency.cpp> struct Kernel; ---- -[#Manager-06] +[#Manager] == Manager A manager. @@ -102,7 +102,7 @@ struct Manager; [cols="1,4"] |=== | Name| Description -| link:#Manager-06-Invalidator[`Invalidator`] +| link:#Manager-Invalidator[`Invalidator`] | Invalidates analyses. |=== @@ -112,7 +112,7 @@ struct Manager; [cols="1,4"] |=== | Name| Description -| link:#Manager-06-clear[`clear`] +| link:#Manager-clear[`clear`] | Clear the cache. |=== @@ -122,7 +122,7 @@ struct Manager; [cols="1,4"] |=== | Name| Description -| link:#Manager-0a[`Manager<Kernel>`] +| link:#Manager-1-Kernel[`Manager<Kernel>`] | A manager. |=== @@ -136,8 +136,8 @@ struct Manager; | IR unit type. |=== -[#Manager-06-Invalidator] -== link:#Manager-06[Manager]::Invalidator +[#Manager-Invalidator] +== link:#Manager[Manager]::Invalidator Invalidates analyses. @@ -155,13 +155,13 @@ struct Invalidator; [cols="1,4"] |=== | Name| Description -| link:#Manager-06-Invalidator-invalidate[`invalidate`] +| link:#Manager-Invalidator-invalidate[`invalidate`] | Invalidate. |=== -[#Manager-06-Invalidator-invalidate] -== link:#Manager-06[Manager]::link:#Manager-06-Invalidator[Invalidator]::invalidate +[#Manager-Invalidator-invalidate] +== link:#Manager[Manager]::link:#Manager-Invalidator[Invalidator]::invalidate Invalidate. @@ -188,8 +188,8 @@ Whether anything was invalidated. | The IR unit. |=== -[#Manager-06-clear] -== link:#Manager-06[Manager]::clear +[#Manager-clear] +== link:#Manager[Manager]::clear Clear the cache. @@ -203,8 +203,8 @@ void clear(); ---- -[#Manager-0a] -== link:#Manager-06[Manager]<link:#Kernel[Kernel]> +[#Manager-1-Kernel] +== link:#Manager[Manager]<link:#Kernel[Kernel]> A manager. @@ -215,7 +215,7 @@ Declared in `<implicit‐specialization‐dependency.cpp> [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<> -struct link:#Manager-06[Manager]<link:#Kernel[Kernel]>; +struct link:#Manager[Manager]<link:#Kernel[Kernel]>; ---- === Types @@ -223,7 +223,7 @@ struct link:#Manager-06[Manager]<link:#Kernel[Kernel]>; [cols="1,4"] |=== | Name| Description -| link:#Manager-0a-Invalidator[`Invalidator`] +| link:#Manager-1-Kernel-Invalidator[`Invalidator`] | Invalidates analyses. |=== @@ -233,7 +233,7 @@ struct link:#Manager-06[Manager]<link:#Kernel[Kernel]>; [cols="1,4"] |=== | Name| Description -| link:#Manager-0a-clear[`clear`] +| link:#Manager-1-Kernel-clear[`clear`] | The kernel manager clears differently. |=== @@ -247,8 +247,8 @@ struct link:#Manager-06[Manager]<link:#Kernel[Kernel]>; | IR unit type. |=== -[#Manager-0a-Invalidator] -== link:#Manager-0a[Manager<Kernel>]::Invalidator +[#Manager-1-Kernel-Invalidator] +== link:#Manager-1-Kernel[Manager<Kernel>]::Invalidator Invalidates analyses. @@ -261,8 +261,8 @@ Declared in `<implicit‐specialization‐dependency.cpp> struct Invalidator; ---- -[#Manager-0a-clear] -== link:#Manager-0a[Manager<Kernel>]::clear +[#Manager-1-Kernel-clear] +== link:#Manager-1-Kernel[Manager<Kernel>]::clear The kernel manager clears differently. @@ -302,7 +302,7 @@ Declared in `<implicit‐specialization‐dependency.cpp> [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- void -use(link:#Manager-06[Manager<Module>::Invalidator]& Inv); +use(link:#Manager[Manager<Module>::Invalidator]& Inv); ---- === Parameters diff --git a/tests/golden/fixtures/templates/implicit-specialization-dependency.xml b/tests/golden/fixtures/templates/implicit-specialization-dependency.xml index dfb3e2c970f..477deabfea0 100644 --- a/tests/golden/fixtures/templates/implicit-specialization-dependency.xml +++ b/tests/golden/fixtures/templates/implicit-specialization-dependency.xml @@ -131,7 +131,7 @@ Manager - Manager-06 + Manager implicit-specialization-dependency.cpp @@ -357,7 +357,7 @@ Manager - Manager-0a + Manager-1-Kernel implicit-specialization-dependency.cpp