From 4aeff2ba6380a2224e06e83d734cf09bc763ac64 Mon Sep 17 00:00:00 2001 From: alandefreitas Date: Tue, 12 Nov 2024 18:41:04 -0300 Subject: [PATCH 1/5] refactor: simplify handlebars generators Apart from the DocVisitor, the Adoc and HTML generators are nearly 100% duplicated code. This is the main reason the HTML Generator is always behind the Adoc Generator: simple features were not duplicated in the HTML generator. This even justified #656, where we would temporarily remove the HTML generator. This commit unifies the standard code to remove duplicated code, simplify maintenance, and ensure that both generators always have access to the same features. In passing, many missing features in the HTML generator are now available. fix #656 --- include/mrdocs/Generator.hpp | 13 +- include/mrdocs/Support/Error.hpp | 7 + .../{asciidoc => adoc}/helpers/add.js | 0 .../layouts/overload-set.adoc.hbs | 0 .../layouts/single-footer.adoc.hbs | 0 .../layouts/single-header.adoc.hbs | 0 .../layouts/single-symbol.adoc.hbs | 0 .../partials/signature/alias.adoc.hbs | 0 .../partials/signature/concept.adoc.hbs | 0 .../partials/signature/enum.adoc.hbs | 0 .../partials/signature/enumerator.adoc.hbs | 0 .../partials/signature/field.adoc.hbs | 0 .../partials/signature/friend.adoc.hbs | 0 .../partials/signature/function.adoc.hbs | 0 .../partials/signature/guide.adoc.hbs | 0 .../partials/signature/namespace.adoc.hbs | 0 .../partials/signature/record.adoc.hbs | 0 .../signature/specialization.adoc.hbs | 0 .../partials/signature/typedef.adoc.hbs | 0 .../partials/signature/undefined.adoc.hbs | 0 .../partials/signature/using.adoc.hbs | 0 .../partials/signature/variable.adoc.hbs | 0 .../partials/symbols/alias.adoc.hbs | 0 .../partials/symbols/concept.adoc.hbs | 0 .../partials/symbols/enum.adoc.hbs | 0 .../partials/symbols/enumerator.adoc.hbs | 0 .../partials/symbols/field.adoc.hbs | 0 .../partials/symbols/friend.adoc.hbs | 0 .../partials/symbols/function.adoc.hbs | 0 .../partials/symbols/guide.adoc.hbs | 0 .../partials/symbols/namespace.adoc.hbs | 0 .../partials/symbols/record.adoc.hbs | 0 .../partials/symbols/specialization.adoc.hbs | 0 .../partials/symbols/typedef.adoc.hbs | 0 .../partials/symbols/undefined.adoc.hbs | 0 .../partials/symbols/using.adoc.hbs | 0 .../partials/symbols/variable.adoc.hbs | 0 .../partials/types/declarator-after.adoc.hbs | 0 .../partials/types/declarator-before.adoc.hbs | 0 .../partials/types/declarator-id.adoc.hbs | 0 .../partials/types/declarator.adoc.hbs | 0 .../partials/types/info-list.adoc.hbs | 0 .../partials/types/info-member.adoc.hbs | 0 .../partials/types/name-info.adoc.hbs | 0 .../types/nested-name-specifier.adoc.hbs | 0 .../partials/types/qualified-path.adoc.hbs | 0 .../partials/types/source.adoc.hbs | 0 .../types/special-name-suffix.adoc.hbs | 0 .../partials/types/template-arg.adoc.hbs | 0 .../partials/types/template-args.adoc.hbs | 0 .../partials/types/template-head.adoc.hbs | 0 .../partials/types/template-param.adoc.hbs | 0 .../partials/types/tranche.adoc.hbs | 0 .../html/layouts/single-symbol.html.hbs | 3 - .../html/partials/symbols/alias.html.hbs | 2 +- .../html/partials/symbols/concept.html.hbs | 2 +- .../html/partials/symbols/enum.html.hbs | 2 +- .../html/partials/symbols/enumerator.html.hbs | 2 +- .../html/partials/symbols/field.html.hbs | 2 +- .../html/partials/symbols/friend.html.hbs | 2 +- .../html/partials/symbols/function.html.hbs | 2 +- .../html/partials/symbols/guide.html.hbs | 2 +- .../html/partials/symbols/namespace.html.hbs | 2 +- .../html/partials/symbols/record.html.hbs | 2 +- .../html/partials/symbols/typedef.html.hbs | 2 +- .../html/partials/symbols/using.html.hbs | 2 +- .../html/partials/symbols/variable.html.hbs | 2 +- src/lib/Gen/adoc/AdocCorpus.cpp | 536 ------------ src/lib/Gen/adoc/AdocGenerator.cpp | 121 +-- src/lib/Gen/adoc/AdocGenerator.hpp | 32 +- src/lib/Gen/adoc/DocVisitor.cpp | 288 +++++++ src/lib/Gen/adoc/DocVisitor.hpp | 72 ++ src/lib/Gen/adoc/Options.cpp | 150 ---- src/lib/Gen/adoc/Options.hpp | 42 - src/lib/Gen/adoc/SinglePageVisitor.cpp | 101 --- src/lib/Gen/{adoc => hbs}/Builder.cpp | 21 +- src/lib/Gen/{adoc => hbs}/Builder.hpp | 15 +- src/lib/Gen/hbs/HandlebarsCorpus.cpp | 241 ++++++ .../HandlebarsCorpus.hpp} | 38 +- src/lib/Gen/hbs/HandlebarsGenerator.cpp | 161 ++++ src/lib/Gen/hbs/HandlebarsGenerator.hpp | 77 ++ .../Gen/{adoc => hbs}/MultiPageVisitor.cpp | 7 +- .../Gen/{adoc => hbs}/MultiPageVisitor.hpp | 25 +- src/lib/Gen/hbs/Options.hpp | 53 ++ .../Gen/{html => hbs}/SinglePageVisitor.cpp | 5 +- .../Gen/{adoc => hbs}/SinglePageVisitor.hpp | 10 +- src/lib/Gen/html/Builder.cpp | 237 ------ src/lib/Gen/html/Builder.hpp | 69 -- .../html/{HTMLCorpus.cpp => DocVisitor.cpp} | 105 +-- src/lib/Gen/html/DocVisitor.hpp | 72 ++ src/lib/Gen/html/HTMLCorpus.hpp | 57 -- src/lib/Gen/html/HTMLGenerator.cpp | 112 +-- src/lib/Gen/html/HTMLGenerator.hpp | 32 +- src/lib/Gen/html/MultiPageVisitor.cpp | 69 -- src/lib/Gen/html/MultiPageVisitor.hpp | 53 -- src/lib/Gen/html/Options.cpp | 144 ---- src/lib/Gen/html/Options.hpp | 42 - src/lib/Gen/html/SinglePageVisitor.hpp | 60 -- src/lib/Support/Error.cpp | 16 +- src/lib/Support/Generator.cpp | 2 +- src/lib/Support/GeneratorsImpl.hpp | 2 +- src/test/TestMain.cpp | 2 + test-files/golden-tests/alias-template.html | 46 +- test-files/golden-tests/attributes_1.html | 12 +- test-files/golden-tests/brief-1.html | 19 +- test-files/golden-tests/brief-2.html | 47 +- test-files/golden-tests/canonical_1.html | 61 +- .../class-template-partial-spec.html | 43 +- .../golden-tests/class-template-spec.html | 161 ++-- .../class-template-specializations-1.html | 798 ++++++------------ .../class-template-specializations-2.html | 145 ++-- .../class-template-specializations-3.html | 268 ++---- test-files/golden-tests/class-template.html | 199 ++--- test-files/golden-tests/commands.html | 12 +- test-files/golden-tests/concept.html | 30 +- .../golden-tests/dependency-propagation.html | 46 +- test-files/golden-tests/duplicate-jdoc.html | 89 +- test-files/golden-tests/empty.html | 5 +- test-files/golden-tests/enum.html | 105 +-- .../golden-tests/explicit-conv-operator.html | 69 +- test-files/golden-tests/explicit-ctor.html | 233 ++--- .../golden-tests/explicit-deduct-guide.html | 48 +- .../explicit-object-parameter.html | 36 +- .../golden-tests/filters/blacklist_0.html | 89 +- .../golden-tests/filters/blacklist_test.html | 26 +- test-files/golden-tests/filters/filters.html | 227 ++--- .../golden-tests/filters/whitelist_0.html | 103 +-- .../golden-tests/filters/whitelist_test.html | 33 +- test-files/golden-tests/friend-1.html | 26 +- test-files/golden-tests/friend-2.html | 26 +- test-files/golden-tests/friend-3.html | 40 +- test-files/golden-tests/friend-4.html | 40 +- test-files/golden-tests/friend-5.html | 40 +- test-files/golden-tests/friend-6.html | 58 +- .../golden-tests/function-parm-decay.html | 49 +- .../golden-tests/function-template.html | 89 +- .../golden-tests/function-tparm-decay.html | 47 +- .../implicit-instantiation-member-ref.html | 196 ++--- test-files/golden-tests/local-class.html | 19 +- test-files/golden-tests/mem-fn.html | 319 +++---- .../golden-tests/namespace-alias-1.html | 19 +- .../golden-tests/namespace-alias-2.html | 26 +- .../golden-tests/namespace-alias-3.html | 26 +- test-files/golden-tests/namespace.html | 180 ++-- .../golden-tests/nested-private-template.html | 32 +- .../golden-tests/no_unique_address.html | 39 +- test-files/golden-tests/noreturn.html | 44 +- test-files/golden-tests/ns-variables.html | 77 +- .../golden-tests/out-of-line-record-def.html | 19 +- test-files/golden-tests/overloaded-op-1.html | 23 +- test-files/golden-tests/overloaded-op-2.html | 25 +- test-files/golden-tests/para-1.html | 33 +- test-files/golden-tests/para-2.html | 12 +- test-files/golden-tests/param-direction.html | 285 +++++-- test-files/golden-tests/param.html | 125 ++- test-files/golden-tests/pre-post.html | 12 +- test-files/golden-tests/record-1.html | 101 +-- test-files/golden-tests/record-access.html | 107 +-- test-files/golden-tests/record-data.html | 188 ++--- .../golden-tests/record-inheritance.html | 145 ++-- test-files/golden-tests/ref.html | 680 ++++++--------- test-files/golden-tests/requires-clause.html | 48 +- .../spec-mem-implicit-instantiation.html | 94 +-- .../static-data-def-constexpr.html | 39 +- test-files/golden-tests/static-data-def.html | 116 +-- .../golden-tests/static-data-template.html | 43 +- .../golden-tests/temp/c_mct_expl_inline.html | 50 +- .../golden-tests/temp/c_mct_expl_outside.html | 50 +- .../golden-tests/temp/c_mft_expl_inline.html | 40 +- .../golden-tests/temp/c_mft_expl_outside.html | 40 +- test-files/golden-tests/temp/ct_expl.html | 39 +- test-files/golden-tests/temp/ct_mc.html | 30 +- .../golden-tests/temp/ct_mc_expl_outside.html | 33 +- test-files/golden-tests/temp/ct_mct.html | 30 +- .../golden-tests/temp/ct_mct_expl_inline.html | 50 +- .../temp/ct_mct_expl_outside.html | 33 +- test-files/golden-tests/temp/ct_mf.html | 21 +- .../golden-tests/temp/ct_mf_expl_outside.html | 24 +- test-files/golden-tests/temp/ct_mft.html | 21 +- .../golden-tests/temp/ct_mft_expl_inline.html | 40 +- .../temp/ct_mft_expl_outside.html | 24 +- test-files/golden-tests/temp/ft_expl.html | 27 +- test-files/golden-tests/type-resolution.html | 451 ++++------ test-files/golden-tests/union.html | 64 +- test-files/golden-tests/using-1.html | 12 +- test-files/golden-tests/using-2.html | 40 +- test-files/golden-tests/using-3.html | 68 +- test-files/golden-tests/utf-8.html | 12 +- test-files/golden-tests/var-template.html | 68 +- .../golden-tests/variadic-function.html | 40 +- 190 files changed, 3834 insertions(+), 7028 deletions(-) rename share/mrdocs/addons/generator/{asciidoc => adoc}/helpers/add.js (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/layouts/overload-set.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/layouts/single-footer.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/layouts/single-header.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/layouts/single-symbol.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/alias.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/concept.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/enum.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/enumerator.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/field.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/friend.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/function.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/guide.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/namespace.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/record.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/specialization.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/typedef.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/undefined.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/using.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/signature/variable.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/alias.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/concept.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/enum.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/enumerator.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/field.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/friend.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/function.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/guide.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/namespace.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/record.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/specialization.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/typedef.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/undefined.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/using.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/symbols/variable.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/declarator-after.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/declarator-before.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/declarator-id.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/declarator.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/info-list.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/info-member.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/name-info.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/nested-name-specifier.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/qualified-path.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/source.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/special-name-suffix.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/template-arg.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/template-args.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/template-head.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/template-param.adoc.hbs (100%) rename share/mrdocs/addons/generator/{asciidoc => adoc}/partials/types/tranche.adoc.hbs (100%) delete mode 100644 src/lib/Gen/adoc/AdocCorpus.cpp create mode 100644 src/lib/Gen/adoc/DocVisitor.cpp create mode 100644 src/lib/Gen/adoc/DocVisitor.hpp delete mode 100644 src/lib/Gen/adoc/Options.cpp delete mode 100644 src/lib/Gen/adoc/Options.hpp delete mode 100644 src/lib/Gen/adoc/SinglePageVisitor.cpp rename src/lib/Gen/{adoc => hbs}/Builder.cpp (90%) rename src/lib/Gen/{adoc => hbs}/Builder.hpp (82%) create mode 100644 src/lib/Gen/hbs/HandlebarsCorpus.cpp rename src/lib/Gen/{adoc/AdocCorpus.hpp => hbs/HandlebarsCorpus.hpp} (68%) create mode 100644 src/lib/Gen/hbs/HandlebarsGenerator.cpp create mode 100644 src/lib/Gen/hbs/HandlebarsGenerator.hpp rename src/lib/Gen/{adoc => hbs}/MultiPageVisitor.cpp (94%) rename src/lib/Gen/{adoc => hbs}/MultiPageVisitor.hpp (61%) create mode 100644 src/lib/Gen/hbs/Options.hpp rename src/lib/Gen/{html => hbs}/SinglePageVisitor.cpp (96%) rename src/lib/Gen/{adoc => hbs}/SinglePageVisitor.hpp (86%) delete mode 100644 src/lib/Gen/html/Builder.cpp delete mode 100644 src/lib/Gen/html/Builder.hpp rename src/lib/Gen/html/{HTMLCorpus.cpp => DocVisitor.cpp} (72%) create mode 100644 src/lib/Gen/html/DocVisitor.hpp delete mode 100644 src/lib/Gen/html/HTMLCorpus.hpp delete mode 100644 src/lib/Gen/html/MultiPageVisitor.cpp delete mode 100644 src/lib/Gen/html/MultiPageVisitor.hpp delete mode 100644 src/lib/Gen/html/Options.cpp delete mode 100644 src/lib/Gen/html/Options.hpp delete mode 100644 src/lib/Gen/html/SinglePageVisitor.hpp diff --git a/include/mrdocs/Generator.hpp b/include/mrdocs/Generator.hpp index dcc4f7c417..f847d4de64 100644 --- a/include/mrdocs/Generator.hpp +++ b/include/mrdocs/Generator.hpp @@ -82,10 +82,19 @@ class MRDOCS_VISIBLE depending on the generator and how it is configured. + The default implentation assumes the output + is single-page and emits the file `reference.ext` + using @ref buildOne to generate the content. + + The typical implementation will have behavior + similar to the default implementation if the + output is single-page, or will iterate over + the symbols in the corpus to generate multiple + files if the output is multi-page. + @return The error, if any occurred. - @param outputPath An existing directory or - a filename. + @param outputPath A directory or filename. @param corpus The symbols to emit. The generator may modify the contents of diff --git a/include/mrdocs/Support/Error.hpp b/include/mrdocs/Support/Error.hpp index 10730dd2f2..a713bc4424 100644 --- a/include/mrdocs/Support/Error.hpp +++ b/include/mrdocs/Support/Error.hpp @@ -2747,6 +2747,13 @@ void setMinimumLevel( Level level) noexcept; +/** If true, source location information will be + printed with warnings, errors, and fatal messages. +*/ +MRDOCS_DECL +void +setSourceLocationWarnings(bool b) noexcept; + /** Report a message to the console. @param text The message to print. A diff --git a/share/mrdocs/addons/generator/asciidoc/helpers/add.js b/share/mrdocs/addons/generator/adoc/helpers/add.js similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/helpers/add.js rename to share/mrdocs/addons/generator/adoc/helpers/add.js diff --git a/share/mrdocs/addons/generator/asciidoc/layouts/overload-set.adoc.hbs b/share/mrdocs/addons/generator/adoc/layouts/overload-set.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/layouts/overload-set.adoc.hbs rename to share/mrdocs/addons/generator/adoc/layouts/overload-set.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/layouts/single-footer.adoc.hbs b/share/mrdocs/addons/generator/adoc/layouts/single-footer.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/layouts/single-footer.adoc.hbs rename to share/mrdocs/addons/generator/adoc/layouts/single-footer.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/layouts/single-header.adoc.hbs b/share/mrdocs/addons/generator/adoc/layouts/single-header.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/layouts/single-header.adoc.hbs rename to share/mrdocs/addons/generator/adoc/layouts/single-header.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/layouts/single-symbol.adoc.hbs b/share/mrdocs/addons/generator/adoc/layouts/single-symbol.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/layouts/single-symbol.adoc.hbs rename to share/mrdocs/addons/generator/adoc/layouts/single-symbol.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/alias.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/alias.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/alias.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/alias.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/concept.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/concept.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/concept.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/concept.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/enum.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/enum.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/enum.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/enum.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/enumerator.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/enumerator.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/enumerator.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/enumerator.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/field.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/field.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/field.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/field.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/friend.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/friend.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/friend.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/friend.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/function.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/function.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/function.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/function.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/guide.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/guide.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/guide.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/guide.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/namespace.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/namespace.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/namespace.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/namespace.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/record.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/record.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/record.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/record.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/specialization.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/specialization.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/specialization.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/specialization.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/typedef.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/typedef.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/typedef.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/typedef.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/undefined.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/undefined.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/undefined.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/undefined.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/using.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/using.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/using.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/using.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/signature/variable.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/signature/variable.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/signature/variable.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/signature/variable.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/alias.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/alias.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/alias.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/alias.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/concept.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/concept.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/concept.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/concept.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/enum.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/enum.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/enum.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/enum.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/enumerator.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/enumerator.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/enumerator.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/enumerator.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/field.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/field.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/field.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/field.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/friend.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/friend.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/friend.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/friend.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/function.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/function.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/function.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/function.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/guide.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/guide.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/guide.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/guide.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/namespace.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/namespace.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/namespace.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/namespace.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/record.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/record.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/record.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/record.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/specialization.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/specialization.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/specialization.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/specialization.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/typedef.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/typedef.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/typedef.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/typedef.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/undefined.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/undefined.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/undefined.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/undefined.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/using.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/using.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/using.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/using.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/symbols/variable.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbols/variable.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/symbols/variable.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/symbols/variable.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/declarator-after.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/declarator-after.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/declarator-after.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/declarator-after.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/declarator-before.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/declarator-before.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/declarator-before.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/declarator-before.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/declarator-id.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/declarator-id.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/declarator-id.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/declarator-id.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/declarator.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/declarator.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/declarator.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/declarator.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/info-list.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/info-list.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/info-list.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/info-list.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/info-member.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/info-member.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/info-member.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/info-member.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/name-info.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/name-info.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/name-info.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/name-info.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/nested-name-specifier.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/nested-name-specifier.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/nested-name-specifier.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/nested-name-specifier.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/qualified-path.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/qualified-path.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/qualified-path.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/qualified-path.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/source.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/source.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/source.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/source.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/special-name-suffix.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/special-name-suffix.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/special-name-suffix.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/special-name-suffix.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/template-arg.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/template-arg.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/template-arg.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/template-arg.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/template-args.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/template-args.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/template-args.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/template-args.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/template-head.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/template-head.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/template-head.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/template-head.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/template-param.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/template-param.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/template-param.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/template-param.adoc.hbs diff --git a/share/mrdocs/addons/generator/asciidoc/partials/types/tranche.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/types/tranche.adoc.hbs similarity index 100% rename from share/mrdocs/addons/generator/asciidoc/partials/types/tranche.adoc.hbs rename to share/mrdocs/addons/generator/adoc/partials/types/tranche.adoc.hbs diff --git a/share/mrdocs/addons/generator/html/layouts/single-symbol.html.hbs b/share/mrdocs/addons/generator/html/layouts/single-symbol.html.hbs index 915f24a300..1b45a76848 100644 --- a/share/mrdocs/addons/generator/html/layouts/single-symbol.html.hbs +++ b/share/mrdocs/addons/generator/html/layouts/single-symbol.html.hbs @@ -1,5 +1,2 @@ {{! The section with a symbol in single page output or the symbol page in multi page output }} -{{#if relfileprefix}}:relfileprefix: {{relfileprefix}}{{/if}} -[#{{#if (is_multipage)}}{{symbol.id}}{{else}}{{symbol.ref}}{{/if}}] - {{> (concat 'symbols' '/' (lookup symbol 'kind')) symbol=symbol}} diff --git a/share/mrdocs/addons/generator/html/partials/symbols/alias.html.hbs b/share/mrdocs/addons/generator/html/partials/symbols/alias.html.hbs index 308220cd34..cca2c2c403 100644 --- a/share/mrdocs/addons/generator/html/partials/symbols/alias.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbols/alias.html.hbs @@ -1,5 +1,5 @@ {{!-- alias --}} -
+

{{>types/nested-name-specifier symbol=symbol.parent}}{{symbol.name}}

{{{symbol.doc.brief}}} diff --git a/share/mrdocs/addons/generator/html/partials/symbols/concept.html.hbs b/share/mrdocs/addons/generator/html/partials/symbols/concept.html.hbs index c2898ddbe4..07383ce78a 100644 --- a/share/mrdocs/addons/generator/html/partials/symbols/concept.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbols/concept.html.hbs @@ -1,5 +1,5 @@ {{!-- concept --}} -
+

{{>types/nested-name-specifier symbol=symbol.parent includeNamespace=true}}{{symbol.name}}

{{symbol.doc.brief}} diff --git a/share/mrdocs/addons/generator/html/partials/symbols/enum.html.hbs b/share/mrdocs/addons/generator/html/partials/symbols/enum.html.hbs index 048f355446..742ec243fa 100644 --- a/share/mrdocs/addons/generator/html/partials/symbols/enum.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbols/enum.html.hbs @@ -1,5 +1,5 @@ {{!-- enum --}} -
+

{{#if symbol.name}}Enum {{>types/nested-name-specifier symbol=symbol.parent}}{{symbol.name}}{{else}}Unnamed enum{{/if}}

{{{symbol.doc.brief}}} diff --git a/share/mrdocs/addons/generator/html/partials/symbols/enumerator.html.hbs b/share/mrdocs/addons/generator/html/partials/symbols/enumerator.html.hbs index 1c626b81c5..a41686249d 100644 --- a/share/mrdocs/addons/generator/html/partials/symbols/enumerator.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbols/enumerator.html.hbs @@ -1,5 +1,5 @@ {{!-- enumerator --}} -
+

Enumerator {{>types/nested-name-specifier symbol=symbol.parent}}{{symbol.name}}

{{{symbol.doc.brief}}} diff --git a/share/mrdocs/addons/generator/html/partials/symbols/field.html.hbs b/share/mrdocs/addons/generator/html/partials/symbols/field.html.hbs index 589e8be00a..96dadaf0dc 100644 --- a/share/mrdocs/addons/generator/html/partials/symbols/field.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbols/field.html.hbs @@ -1,5 +1,5 @@ {{!-- field --}} -
+

{{>types/nested-name-specifier symbol=symbol.parent}}{{symbol.name}}

{{{symbol.doc.brief}}} diff --git a/share/mrdocs/addons/generator/html/partials/symbols/friend.html.hbs b/share/mrdocs/addons/generator/html/partials/symbols/friend.html.hbs index 1082ffa2ba..18284214ee 100644 --- a/share/mrdocs/addons/generator/html/partials/symbols/friend.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbols/friend.html.hbs @@ -1,5 +1,5 @@ {{!-- friend --}} -
+

Friend {{#if symbol.symbol}}{{symbol.symbol.name}}{{else}}{{symbol.type.name}}{{/if}}

{{{symbol.doc.brief}}} diff --git a/share/mrdocs/addons/generator/html/partials/symbols/function.html.hbs b/share/mrdocs/addons/generator/html/partials/symbols/function.html.hbs index 1942ab1867..cd1843752e 100644 --- a/share/mrdocs/addons/generator/html/partials/symbols/function.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbols/function.html.hbs @@ -1,5 +1,5 @@ {{!-- function --}} -
+

Function {{>types/nested-name-specifier symbol=symbol.parent}}{{symbol.name}}

{{{symbol.doc.brief}}} diff --git a/share/mrdocs/addons/generator/html/partials/symbols/guide.html.hbs b/share/mrdocs/addons/generator/html/partials/symbols/guide.html.hbs index deb421ff09..c4bb7a5354 100644 --- a/share/mrdocs/addons/generator/html/partials/symbols/guide.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbols/guide.html.hbs @@ -1,5 +1,5 @@ {{!-- guides --}} -
+

Deduction guide {{>types/nested-name-specifier symbol=symbol.parent}}{{symbol.name}}

{{{symbol.doc.brief}}} diff --git a/share/mrdocs/addons/generator/html/partials/symbols/namespace.html.hbs b/share/mrdocs/addons/generator/html/partials/symbols/namespace.html.hbs index a71d6e77ba..736c9799a9 100644 --- a/share/mrdocs/addons/generator/html/partials/symbols/namespace.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbols/namespace.html.hbs @@ -1,5 +1,5 @@ {{!-- namespace --}} -
+

{{#if symbol.name}}Namespace {{>types/nested-name-specifier symbol=symbol.parent}}{{symbol.name}}{{else if symbol.parent}}Unnamed namespace{{else}}Global namespace{{/if}}

diff --git a/share/mrdocs/addons/generator/html/partials/symbols/record.html.hbs b/share/mrdocs/addons/generator/html/partials/symbols/record.html.hbs index 4dd0c49080..edb886d40b 100644 --- a/share/mrdocs/addons/generator/html/partials/symbols/record.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbols/record.html.hbs @@ -1,5 +1,5 @@ {{!-- record --}} -
+

{{#if symbol.name}}Class {{>types/nested-name-specifier symbol=symbol.parent}}{{symbol.name}}{{else}}Unnamed class{{/if}}

{{{symbol.doc.brief}}} diff --git a/share/mrdocs/addons/generator/html/partials/symbols/typedef.html.hbs b/share/mrdocs/addons/generator/html/partials/symbols/typedef.html.hbs index 2f9d45ea95..31f5c3c335 100644 --- a/share/mrdocs/addons/generator/html/partials/symbols/typedef.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbols/typedef.html.hbs @@ -1,5 +1,5 @@ {{!-- typedef --}} -
+

{{>types/nested-name-specifier symbol=symbol.parent}}{{symbol.name}}

{{{symbol.doc.brief}}} diff --git a/share/mrdocs/addons/generator/html/partials/symbols/using.html.hbs b/share/mrdocs/addons/generator/html/partials/symbols/using.html.hbs index e06142af9f..395ca55874 100644 --- a/share/mrdocs/addons/generator/html/partials/symbols/using.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbols/using.html.hbs @@ -1,5 +1,5 @@ {{!-- symbols/using.html.hbs --}} -
+

Using {{#if (eq symbol.class "namespace")}}Directive: {{symbol.qualifier.name}}{{else}}Declaration: {{symbol.name}}{{/if}}

{{{symbol.doc.brief}}} diff --git a/share/mrdocs/addons/generator/html/partials/symbols/variable.html.hbs b/share/mrdocs/addons/generator/html/partials/symbols/variable.html.hbs index 0d98635b84..dced19b8f7 100644 --- a/share/mrdocs/addons/generator/html/partials/symbols/variable.html.hbs +++ b/share/mrdocs/addons/generator/html/partials/symbols/variable.html.hbs @@ -1,5 +1,5 @@ {{!-- variable --}} -
+

{{>types/nested-name-specifier symbol=symbol.parent}}{{symbol.name}}

{{{symbol.doc.brief}}} diff --git a/src/lib/Gen/adoc/AdocCorpus.cpp b/src/lib/Gen/adoc/AdocCorpus.cpp deleted file mode 100644 index 40c09e7e2c..0000000000 --- a/src/lib/Gen/adoc/AdocCorpus.cpp +++ /dev/null @@ -1,536 +0,0 @@ -// -// Licensed under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) -// Copyright (c) 2023 Krystian Stasiowski (sdkrystian@gmail.com) -// -// Official repository: https://github.com/cppalliance/mrdocs -// - -#include "AdocCorpus.hpp" -#include "lib/Support/Radix.hpp" -#include -#include -#include -#include - -#include - -namespace clang { -namespace mrdocs { -namespace adoc { - -namespace { - -std::string -escapeAdoc( - std::string_view str) -{ - std::string result; - result.reserve(str.size()); - for(char ch : str) - { - switch(ch) - { - case '&': - result.append("&"); - break; - case '<': - result.append("<"); - break; - case '>': - result.append(">"); - break; - case '[': - result.append("["); - break; - case ']': - result.append("]"); - break; - case '|': - result.append("|"); - break; - case '=': - result.append("="); - break; - case '/': - result.append("/"); - break; - default: - result.push_back(ch); - break; - } - } - return result; -} - -class DocVisitor -{ - const AdocCorpus& corpus_; - std::string& dest_; - std::back_insert_iterator ins_; - - template - bool - write( - const doc::Node& node, - Fn&& fn) - { - const auto n_before = dest_.size(); - doc::visit(node, std::forward(fn)); - return dest_.size() != n_before; - } - -public: - DocVisitor( - AdocCorpus const& corpus, - std::string& dest) noexcept - : corpus_(corpus) - , dest_(dest) - , ins_(std::back_inserter(dest_)) - { - } - - void operator()(doc::Admonition const& I); - void operator()(doc::Code const& I); - void operator()(doc::Heading const& I); - void operator()(doc::Paragraph const& I); - void operator()(doc::Link const& I); - void operator()(doc::ListItem const& I); - void operator()(doc::Param const& I); - void operator()(doc::Returns const& I); - void operator()(doc::Text const& I); - void operator()(doc::Styled const& I); - void operator()(doc::TParam const& I); - void operator()(doc::Reference const& I); - void operator()(doc::Throws const& I); - - std::size_t measureLeftMargin( - doc::List const& list); -}; - -void -DocVisitor:: -operator()( - doc::Admonition const& I) -{ - std::string_view label; - switch(I.admonish) - { - case doc::Admonish::note: - label = "NOTE"; - break; - case doc::Admonish::tip: - label = "TIP"; - break; - case doc::Admonish::important: - label = "IMPORTANT"; - break; - case doc::Admonish::caution: - label = "CAUTION"; - break; - case doc::Admonish::warning: - label = "WARNING"; - break; - default: - MRDOCS_UNREACHABLE(); - } - fmt::format_to(std::back_inserter(dest_), "[{}]\n", label); - (*this)(static_cast(I)); -} - -void -DocVisitor:: -operator()( - doc::Code const& I) -{ - auto const leftMargin = measureLeftMargin(I.children); - dest_ += - "[,cpp]\n" - "----\n"; - for(auto const& it : RangeFor(I.children)) - { - doc::visit(*it.value, - [&](T const& text) - { - if constexpr(std::is_same_v) - { - if(! text.string.empty()) - { - std::string_view s = text.string; - s.remove_prefix(leftMargin); - dest_.append(s); - } - dest_.push_back('\n'); - } - else - { - MRDOCS_UNREACHABLE(); - } - }); - } - dest_ += "----\n"; -} - -void -DocVisitor:: -operator()( - doc::Heading const& I) -{ - fmt::format_to(ins_, "\n=== {}\n", escapeAdoc(I.string)); -} - -// Also handles doc::Brief -void -DocVisitor:: -operator()( - doc::Paragraph const& I) -{ - std::span children = I.children; - if(children.empty()) - return; - dest_.append("\n"); - bool non_empty = write(*children.front(), *this); - for(auto const& child : children.subspan(1)) - { - if(non_empty) - dest_.push_back('\n'); - non_empty = write(*child, *this); - } - dest_.push_back('\n'); -} - -void -DocVisitor:: -operator()( - doc::Link const& I) -{ - dest_.append("link:"); - dest_.append(I.href); - dest_.push_back('['); - dest_.append(escapeAdoc(I.string)); - dest_.push_back(']'); -} - -void -DocVisitor:: -operator()( - doc::ListItem const& I) -{ - std::span children = I.children; - if(children.empty()) - return; - dest_.append("\n* "); - bool non_empty = write(*children.front(), *this); - for(auto const& child : children.subspan(1)) - { - if(non_empty) - dest_.push_back('\n'); - non_empty = write(*child, *this); - } - dest_.push_back('\n'); -} - -void -DocVisitor:: -operator()(doc::Param const& I) -{ -} - -void -DocVisitor:: -operator()(doc::TParam const& I) -{ -} - -void -DocVisitor:: -operator()(doc::Throws const& I) -{ -} - -void -DocVisitor:: -operator()(doc::Returns const& I) -{ - (*this)(static_cast(I)); -} - -void -DocVisitor:: -operator()(doc::Text const& I) -{ - // Asciidoc text must not have leading - // else they can be rendered up as code. - std::string_view s = trim(I.string); - // Render empty lines as paragraph delimiters. - if(s.empty()) - s = "\n"; - dest_.append(escapeAdoc(s)); -} - -void -DocVisitor:: -operator()(doc::Styled const& I) -{ - // VFALCO We need to apply Asciidoc escaping - // depending on the contents of the string. - std::string_view s = trim(I.string); - switch(I.style) - { - case doc::Style::none: - dest_.append(s); - break; - case doc::Style::bold: - fmt::format_to(std::back_inserter(dest_), "*{}*", s); - break; - case doc::Style::mono: - fmt::format_to(std::back_inserter(dest_), "`{}`", s); - break; - case doc::Style::italic: - fmt::format_to(std::back_inserter(dest_), "_{}_", s); - break; - default: - MRDOCS_UNREACHABLE(); - } -} - -void -DocVisitor:: -operator()(doc::Reference const& I) -{ - if(I.id == SymbolID::invalid) - return (*this)(static_cast(I)); - fmt::format_to(std::back_inserter(dest_), "xref:{}[{}]", - corpus_.getXref(corpus_->get(I.id)), escapeAdoc(I.string)); -} - -std::size_t -DocVisitor:: -measureLeftMargin( - doc::List const& list) -{ - if(list.empty()) - return 0; - auto n = std::size_t(-1); - for(auto& text : list) - { - if(trim(text->string).empty()) - continue; - auto const space = - text->string.size() - ltrim(text->string).size(); - if( n > space) - n = space; - } - return n; -} - -dom::Value -domCreate( - const doc::Param& I, - const AdocCorpus& corpus) -{ - dom::Object::storage_type entries = { - { "name", I.name } - }; - std::string s; - DocVisitor visitor(corpus, s); - visitor(static_cast(I)); - if(! s.empty()) - entries.emplace_back( - "description", std::move(s)); - return dom::Object(std::move(entries)); -} - -dom::Value -domCreate( - const doc::TParam& I, - const AdocCorpus& corpus) -{ - dom::Object::storage_type entries = { - { "name", I.name } - }; - std::string s; - DocVisitor visitor(corpus, s); - visitor(static_cast(I)); - if(! s.empty()) - entries.emplace_back( - "description", std::move(s)); - return dom::Object(std::move(entries)); -} - -dom::Value -domCreate( - const doc::Throws& I, - const AdocCorpus& corpus) -{ - dom::Object::storage_type entries = { - { "exception", I.exception } - }; - std::string s; - DocVisitor visitor(corpus, s); - visitor(static_cast(I)); - if(! s.empty()) - entries.emplace_back( - "description", std::move(s)); - return dom::Object(std::move(entries)); -} - -dom::Value -domCreate( - const doc::See& I, - const AdocCorpus& corpus) -{ - std::string s; - DocVisitor visitor(corpus, s); - visitor(static_cast(I)); - return s; -} - -dom::Value -domCreate( - const doc::Precondition& I, - const AdocCorpus& corpus) -{ - std::string s; - DocVisitor visitor(corpus, s); - visitor(static_cast(I)); - return s; -} - -dom::Value -domCreate( - const doc::Postcondition& I, - const AdocCorpus& corpus) -{ - std::string s; - DocVisitor visitor(corpus, s); - visitor(static_cast(I)); - return s; -} - -} // (anon) - -dom::Object -AdocCorpus:: -construct(Info const& I) const -{ - dom::Object obj = this->DomCorpus::construct(I); - obj.set("ref", getXref(I)); - return obj; -} - -std::string -AdocCorpus:: -getXref(Info const& I) const -{ - bool multipage = getCorpus().config->multipage; - // use '/' as the seperator for multipage, and '-' for single-page - std::string xref = names_.getQualified( - I.id, multipage ? '/' : '-'); - // add the file extension if in multipage mode - if(multipage) - xref.append(".adoc"); - return xref; -} - -std::string -AdocCorpus:: -getXref(OverloadSet const& os) const -{ - bool multipage = getCorpus().config->multipage; - // use '/' as the seperator for multipage, and '-' for single-page - std::string xref = names_.getQualified( - os, multipage ? '/' : '-'); - // add the file extension if in multipage mode - if(multipage) - xref.append(".adoc"); - return xref; -} - -dom::Value -AdocCorpus:: -getJavadoc( - Javadoc const& jd) const -{ - dom::Object::storage_type list; - list.reserve(2); - - auto maybeEmplace = [&]( - std::string_view key, - auto const& I) - { - std::string s; - DocVisitor visitor(*this, s); - using T = std::decay_t; - if constexpr (std::derived_from) - { - doc::visit(I, visitor); - } - else if constexpr (std::ranges::range) - { - for(auto const& t : I) - doc::visit(*t, visitor); - } - if(! s.empty()) - { - list.emplace_back(key, std::move(s)); - } - }; - - auto maybeEmplaceArray = [&]( - std::string_view key, - /* std::vector */ auto const& nodes) - { - dom::Array::storage_type elements; - elements.reserve(nodes.size()); - for(auto const& elem : nodes) - { - if(!elem) - continue; - elements.emplace_back( - domCreate(*elem, *this)); - } - if(elements.empty()) - return; - list.emplace_back(key, dom::newArray< - dom::DefaultArrayImpl>(std::move(elements))); - }; - - auto ov = jd.makeOverview(this->getCorpus()); - // brief - if(ov.brief) - maybeEmplace("brief", *ov.brief); - maybeEmplace("description", ov.blocks); - if(ov.returns) - maybeEmplace("returns", *ov.returns); - maybeEmplaceArray("params", ov.params); - maybeEmplaceArray("tparams", ov.tparams); - maybeEmplaceArray("exceptions", ov.exceptions); - maybeEmplaceArray("see", ov.sees); - maybeEmplaceArray("preconditions", ov.preconditions); - maybeEmplaceArray("postconditions", ov.postconditions); - return dom::Object(std::move(list)); -} - -dom::Object -AdocCorpus:: -getOverloads( - OverloadSet const& os) const -{ - auto obj = DomCorpus::getOverloads(os); - // KRYSTIAN FIXME: need a better way to generate IDs - // std::string xref = - obj.set("ref", getXref(os)); - // std::replace(xref.begin(), xref.end(), '/', '-'); - obj.set("id", fmt::format("{}-{}", - toBase16(os.Parent), os.Name)); - return obj; - // return dom::newObject(os, *this); -} - -} // adoc -} // mrdocs -} // clang diff --git a/src/lib/Gen/adoc/AdocGenerator.cpp b/src/lib/Gen/adoc/AdocGenerator.cpp index 5c02bf54d7..e39afdfc7d 100644 --- a/src/lib/Gen/adoc/AdocGenerator.cpp +++ b/src/lib/Gen/adoc/AdocGenerator.cpp @@ -9,125 +9,28 @@ // Official repository: https://github.com/cppalliance/mrdocs // -#include "AdocCorpus.hpp" #include "AdocGenerator.hpp" -#include "Builder.hpp" -#include "MultiPageVisitor.hpp" -#include "SinglePageVisitor.hpp" -#include "lib/Support/LegibleNames.hpp" -#include -#include -#include -#include +#include "DocVisitor.hpp" namespace clang { namespace mrdocs { namespace adoc { -Expected> -createExecutors( - AdocCorpus const& adocCorpus) -{ - auto const& config = adocCorpus->config; - auto& threadPool = config.threadPool(); - ExecutorGroup group(threadPool); - for(auto i = threadPool.getThreadCount(); i--;) - { - try - { - group.emplace(adocCorpus); - } - catch(Exception const& ex) - { - return Unexpected(ex.error()); - } - } - return group; -} - -//------------------------------------------------ -// -// AdocGenerator -// -//------------------------------------------------ - -Error AdocGenerator:: -build( - std::string_view outputPath, - Corpus const& corpus) const -{ - if(! corpus.config->multipage) - return Generator::build(outputPath, corpus); - - auto options = loadOptions(corpus); - if(! options) - return options.error(); - - AdocCorpus domCorpus(corpus, *std::move(options)); - auto ex = createExecutors(domCorpus); - if(! ex) - return ex.error(); - - MultiPageVisitor visitor(*ex, outputPath, corpus); - visitor(corpus.globalNamespace()); - - auto errors = ex->wait(); - if(! errors.empty()) - return Error(errors); - return Error::success(); -} - -Error -AdocGenerator:: -buildOne( - std::ostream& os, - Corpus const& corpus) const -{ - auto options = loadOptions(corpus); - if(! options) - return options.error(); - - AdocCorpus domCorpus(corpus, *std::move(options)); - auto ex = createExecutors(domCorpus); - if(! ex) - return ex.error(); - - std::vector errors; - - ex->async( - [&os](Builder& builder) - { - auto pageText = builder.renderSinglePageHeader().value(); - os.write(pageText.data(), pageText.size()); - }); - errors = ex->wait(); - if(! errors.empty()) - return {errors}; - - SinglePageVisitor visitor(*ex, corpus, os); - visitor(corpus.globalNamespace()); - errors = ex->wait(); - if(! errors.empty()) - return {errors}; - - ex->async( - [&os](Builder& builder) - { - auto pageText = builder.renderSinglePageFooter().value(); - os.write(pageText.data(), pageText.size()); - }); - errors = ex->wait(); - if(! errors.empty()) - return {errors}; - - return Error::success(); -} +AdocGenerator() + : hbs::HandlebarsGenerator("Asciidoc", "adoc", []( + hbs::HandlebarsCorpus const& c, + doc::Node const& I) -> std::string + { + std::string s; + DocVisitor visitor(c, s); + doc::visit(I, visitor); + return s; + }) +{} } // adoc -//------------------------------------------------ - std::unique_ptr makeAdocGenerator() { diff --git a/src/lib/Gen/adoc/AdocGenerator.hpp b/src/lib/Gen/adoc/AdocGenerator.hpp index 452e42b807..ea212feb2f 100644 --- a/src/lib/Gen/adoc/AdocGenerator.hpp +++ b/src/lib/Gen/adoc/AdocGenerator.hpp @@ -5,6 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // @@ -14,42 +15,17 @@ #include #include +#include namespace clang { namespace mrdocs { namespace adoc { class AdocGenerator - : public Generator + : public hbs::HandlebarsGenerator { public: - std::string_view - id() const noexcept override - { - return "adoc"; - } - - std::string_view - displayName() const noexcept override - { - return "Asciidoc"; - } - - std::string_view - fileExtension() const noexcept override - { - return "adoc"; - } - - Error - build( - std::string_view outputPath, - Corpus const& corpus) const override; - - Error - buildOne( - std::ostream& os, - Corpus const& corpus) const override; + AdocGenerator(); }; } // adoc diff --git a/src/lib/Gen/adoc/DocVisitor.cpp b/src/lib/Gen/adoc/DocVisitor.cpp new file mode 100644 index 0000000000..edba062748 --- /dev/null +++ b/src/lib/Gen/adoc/DocVisitor.cpp @@ -0,0 +1,288 @@ +// +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2023 Krystian Stasiowski (sdkrystian@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#include "DocVisitor.hpp" +#include "lib/Support/Radix.hpp" +#include +#include +#include +#include +#include + +namespace clang { +namespace mrdocs { +namespace adoc { + +std::string +escapeAdoc( + std::string_view str) +{ + std::string result; + result.reserve(str.size()); + for(char ch : str) + { + switch(ch) + { + case '&': + result.append("&"); + break; + case '<': + result.append("<"); + break; + case '>': + result.append(">"); + break; + case '[': + result.append("["); + break; + case ']': + result.append("]"); + break; + case '|': + result.append("|"); + break; + case '=': + result.append("="); + break; + case '/': + result.append("/"); + break; + default: + result.push_back(ch); + break; + } + } + return result; +} + +void +DocVisitor:: +operator()( + doc::Admonition const& I) +{ + std::string_view label; + switch(I.admonish) + { + case doc::Admonish::note: + label = "NOTE"; + break; + case doc::Admonish::tip: + label = "TIP"; + break; + case doc::Admonish::important: + label = "IMPORTANT"; + break; + case doc::Admonish::caution: + label = "CAUTION"; + break; + case doc::Admonish::warning: + label = "WARNING"; + break; + default: + MRDOCS_UNREACHABLE(); + } + fmt::format_to(std::back_inserter(dest_), "[{}]\n", label); + (*this)(static_cast(I)); +} + +void +DocVisitor:: +operator()( + doc::Code const& I) +{ + auto const leftMargin = measureLeftMargin(I.children); + dest_ += + "[,cpp]\n" + "----\n"; + for(auto const& it : RangeFor(I.children)) + { + doc::visit(*it.value, + [&](T const& text) + { + if constexpr(std::is_same_v) + { + if(! text.string.empty()) + { + std::string_view s = text.string; + s.remove_prefix(leftMargin); + dest_.append(s); + } + dest_.push_back('\n'); + } + else + { + MRDOCS_UNREACHABLE(); + } + }); + } + dest_ += "----\n"; +} + +void +DocVisitor:: +operator()( + doc::Heading const& I) +{ + fmt::format_to(ins_, "\n=== {}\n", escapeAdoc(I.string)); +} + +// Also handles doc::Brief +void +DocVisitor:: +operator()( + doc::Paragraph const& I) +{ + std::span children = I.children; + if(children.empty()) + return; + dest_.append("\n"); + bool non_empty = write(*children.front(), *this); + for(auto const& child : children.subspan(1)) + { + if(non_empty) + dest_.push_back('\n'); + non_empty = write(*child, *this); + } + dest_.push_back('\n'); +} + +void +DocVisitor:: +operator()( + doc::Link const& I) +{ + dest_.append("link:"); + dest_.append(I.href); + dest_.push_back('['); + dest_.append(escapeAdoc(I.string)); + dest_.push_back(']'); +} + +void +DocVisitor:: +operator()( + doc::ListItem const& I) +{ + std::span children = I.children; + if(children.empty()) + return; + dest_.append("\n* "); + bool non_empty = write(*children.front(), *this); + for(auto const& child : children.subspan(1)) + { + if(non_empty) + dest_.push_back('\n'); + non_empty = write(*child, *this); + } + dest_.push_back('\n'); +} + +void +DocVisitor:: +operator()(doc::Param const& I) +{ + this->operator()(static_cast(I)); +} + +void +DocVisitor:: +operator()(doc::TParam const& I) +{ + this->operator()(static_cast(I)); +} + +void +DocVisitor:: +operator()(doc::Throws const& I) +{ + this->operator()(static_cast(I)); +} + +void +DocVisitor:: +operator()(doc::Returns const& I) +{ + (*this)(static_cast(I)); +} + +void +DocVisitor:: +operator()(doc::Text const& I) +{ + // Asciidoc text must not have leading + // else they can be rendered up as code. + std::string_view s = trim(I.string); + // Render empty lines as paragraph delimiters. + if(s.empty()) + s = "\n"; + dest_.append(escapeAdoc(s)); +} + +void +DocVisitor:: +operator()(doc::Styled const& I) +{ + // VFALCO We need to apply Asciidoc escaping + // depending on the contents of the string. + std::string_view s = trim(I.string); + switch(I.style) + { + case doc::Style::none: + dest_.append(s); + break; + case doc::Style::bold: + fmt::format_to(std::back_inserter(dest_), "*{}*", s); + break; + case doc::Style::mono: + fmt::format_to(std::back_inserter(dest_), "`{}`", s); + break; + case doc::Style::italic: + fmt::format_to(std::back_inserter(dest_), "_{}_", s); + break; + default: + MRDOCS_UNREACHABLE(); + } +} + +void +DocVisitor:: +operator()(doc::Reference const& I) +{ + if(I.id == SymbolID::invalid) + return (*this)(static_cast(I)); + fmt::format_to(std::back_inserter(dest_), "xref:{}[{}]", + corpus_.getXref(corpus_->get(I.id)), escapeAdoc(I.string)); +} + +std::size_t +DocVisitor:: +measureLeftMargin( + doc::List const& list) +{ + if(list.empty()) + return 0; + auto n = std::size_t(-1); + for(auto& text : list) + { + if(trim(text->string).empty()) + continue; + auto const space = + text->string.size() - ltrim(text->string).size(); + if( n > space) + n = space; + } + return n; +} + +} // adoc +} // mrdocs +} // clang diff --git a/src/lib/Gen/adoc/DocVisitor.hpp b/src/lib/Gen/adoc/DocVisitor.hpp new file mode 100644 index 0000000000..ba59908b0b --- /dev/null +++ b/src/lib/Gen/adoc/DocVisitor.hpp @@ -0,0 +1,72 @@ +// +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#ifndef MRDOCS_LIB_GEN_ADOC_DOCVISITOR_HPP +#define MRDOCS_LIB_GEN_ADOC_DOCVISITOR_HPP + +#include +#include "lib/Gen/hbs/HandlebarsCorpus.hpp" +#include + +namespace clang { +namespace mrdocs { +namespace adoc { + +class DocVisitor +{ + hbs::HandlebarsCorpus const& corpus_; + std::string& dest_; + std::back_insert_iterator ins_; + + template + bool + write( + const doc::Node& node, + Fn&& fn) + { + const auto n_before = dest_.size(); + doc::visit(node, std::forward(fn)); + return dest_.size() != n_before; + } + +public: + DocVisitor( + hbs::HandlebarsCorpus const& corpus, + std::string& dest) noexcept + : corpus_(corpus) + , dest_(dest) + , ins_(std::back_inserter(dest_)) + { + } + + void operator()(doc::Admonition const& I); + void operator()(doc::Code const& I); + void operator()(doc::Heading const& I); + void operator()(doc::Paragraph const& I); + void operator()(doc::Link const& I); + void operator()(doc::ListItem const& I); + void operator()(doc::Param const& I); + void operator()(doc::Returns const& I); + void operator()(doc::Text const& I); + void operator()(doc::Styled const& I); + void operator()(doc::TParam const& I); + void operator()(doc::Reference const& I); + void operator()(doc::Throws const& I); + + std::size_t measureLeftMargin( + doc::List const& list); +}; + +} // hbs +} // mrdocs +} // clang + +#endif diff --git a/src/lib/Gen/adoc/Options.cpp b/src/lib/Gen/adoc/Options.cpp deleted file mode 100644 index 6f19d4a83f..0000000000 --- a/src/lib/Gen/adoc/Options.cpp +++ /dev/null @@ -1,150 +0,0 @@ -// -// This is a derivative work. originally part of the LLVM Project. -// Licensed under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) -// -// Official repository: https://github.com/cppalliance/mrdocs -// - -#include "Options.hpp" -#include "lib/Support/Yaml.hpp" -#include "lib/Lib/ConfigImpl.hpp" // VFALCO This is a problem -#include -#include -#include -#include - -namespace clang { -namespace mrdocs { -namespace adoc { - -struct YamlKey -{ - Options& opt; - - explicit - YamlKey( - Options& opt_) noexcept - : opt(opt_) - { - } -}; - -struct YamlGenKey -{ - Options& opt; - - explicit - YamlGenKey( - Options& opt_) - : opt(opt_) - { - } -}; - -} // adoc -} // mrdocs -} // clang - -template<> -struct llvm::yaml::MappingTraits< - clang::mrdocs::adoc::YamlKey> -{ - static void mapping(IO& io, - clang::mrdocs::adoc::YamlKey& yk) - { - auto& opt= yk.opt; - io.mapOptional("legible-names", opt.legible_names); - io.mapOptional("template-dir", opt.template_dir); - } -}; - -template<> -struct llvm::yaml::MappingTraits< - clang::mrdocs::adoc::YamlGenKey> -{ - static void mapping(IO& io, - clang::mrdocs::adoc::YamlGenKey& ygk) - { - clang::mrdocs::adoc::YamlKey yk(ygk.opt); - io.mapOptional("adoc", yk); - } -}; - -template<> -struct llvm::yaml::MappingTraits< - clang::mrdocs::adoc::Options> -{ - static void mapping(IO& io, - clang::mrdocs::adoc::Options& opt) - { - clang::mrdocs::adoc::YamlGenKey ygk(opt); - io.mapOptional("generator", ygk); - } -}; - -//------------------------------------------------ - -namespace clang { -namespace mrdocs { -namespace adoc { - -Expected -loadOptions( - Corpus const& corpus) -{ - Options opt; - - YamlReporter reporter; - - // config - { - llvm::yaml::Input yin( - corpus.config->configYaml, - &reporter, reporter); - yin.setAllowUnknownKeys(true); - yin >> opt; - if(auto ec = yin.error()) - return Unexpected(Error(ec)); - } - - // adjust relative paths - if(! opt.template_dir.empty()) - { - opt.template_dir = files::makeAbsolute( - opt.template_dir, - corpus.config->configDir); - } - else - { - opt.template_dir = files::appendPath( - corpus.config->addons, - "generator", - "asciidoc" - ); - } - - if(! opt.template_dir.empty()) - { - opt.template_dir = files::makeAbsolute( - opt.template_dir, - corpus.config->configDir); - } - else - { - opt.template_dir = files::appendPath( - corpus.config->addons, - "generator", - "asciidoc" - ); - } - - return opt; -} - -} // adoc -} // mrdocs -} // clang diff --git a/src/lib/Gen/adoc/Options.hpp b/src/lib/Gen/adoc/Options.hpp deleted file mode 100644 index 8db45b71e0..0000000000 --- a/src/lib/Gen/adoc/Options.hpp +++ /dev/null @@ -1,42 +0,0 @@ -// -// Licensed under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) -// -// Official repository: https://github.com/cppalliance/mrdocs -// - -#ifndef MRDOCS_LIB_GEN_ADOC_OPTIONS_HPP -#define MRDOCS_LIB_GEN_ADOC_OPTIONS_HPP - -#include -#include - -namespace clang { -namespace mrdocs { - -class Corpus; - -namespace adoc { - -/** Generator-specific options. -*/ -struct Options -{ - bool legible_names = true; - std::string template_dir; -}; - -/** Return loaded Options from a configuration. -*/ -Expected -loadOptions( - Corpus const& corpus); - -} // adoc -} // mrdocs -} // clang - -#endif diff --git a/src/lib/Gen/adoc/SinglePageVisitor.cpp b/src/lib/Gen/adoc/SinglePageVisitor.cpp deleted file mode 100644 index bc21794f36..0000000000 --- a/src/lib/Gen/adoc/SinglePageVisitor.cpp +++ /dev/null @@ -1,101 +0,0 @@ -// -// Licensed under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) -// -// Official repository: https://github.com/cppalliance/mrdocs -// - -#include "SinglePageVisitor.hpp" -#include - -namespace clang { -namespace mrdocs { -namespace adoc { - -template -void -SinglePageVisitor:: -operator()(T const& I) -{ - ex_.async([this, &I, page = numPages_++](Builder& builder) - { - if(auto r = builder(I)) - writePage(*r, page); - else - r.error().Throw(); - }); - if constexpr( - T::isNamespace() || - T::isRecord() || - T::isEnum()) - { - // corpus_.traverse(I, *this); - corpus_.traverseOverloads(I, *this); - } -} - -void -SinglePageVisitor:: -operator()(OverloadSet const& OS) -{ - ex_.async([this, OS, page = numPages_++](Builder& builder) - { - if(auto r = builder(OS)) - writePage(*r, page); - else - r.error().Throw(); - corpus_.traverse(OS, *this); - }); -} - -// pageNumber is zero-based -void -SinglePageVisitor:: -writePage( - std::string pageText, - std::size_t pageNumber) -{ - std::unique_lock lock(mutex_); - - if(pageNumber > topPage_) - { - // defer this page - if( pages_.size() <= pageNumber) - pages_.resize(pageNumber + 1); - pages_[pageNumber] = std::move(pageText); - return; - } - - // write contiguous pages - for(;;) - { - { - unlock_guard unlock(mutex_); - os_.write(pageText.data(), pageText.size()); - ++pageNumber; - } - topPage_ = pageNumber; - if(pageNumber >= pages_.size()) - return; - if(! pages_[pageNumber]) - return; - pageText = std::move(*pages_[pageNumber]); - // VFALCO this is in theory not needed but - // I am paranoid about the std::move of the - // string not resulting in a deallocation. - pages_[pageNumber].reset(); - } -} - -#define DEFINE(T) template void \ - SinglePageVisitor::operator()(T const&) - -#define INFO(Type) DEFINE(Type##Info); -#include - -} // adoc -} // mrdocs -} // clang diff --git a/src/lib/Gen/adoc/Builder.cpp b/src/lib/Gen/hbs/Builder.cpp similarity index 90% rename from src/lib/Gen/adoc/Builder.cpp rename to src/lib/Gen/hbs/Builder.cpp index 18a2f9f5bb..7e40f627e9 100644 --- a/src/lib/Gen/adoc/Builder.cpp +++ b/src/lib/Gen/hbs/Builder.cpp @@ -4,6 +4,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // @@ -25,11 +26,11 @@ namespace lua { extern void lua_dump(dom::Object const& obj); } -namespace adoc { +namespace hbs { Builder:: Builder( - AdocCorpus const& corpus) + HandlebarsCorpus const& corpus) : domCorpus(corpus) { namespace fs = std::filesystem; @@ -38,7 +39,7 @@ Builder( // load partials std::string partialsPath = files::appendPath( - config->addons, "generator", "asciidoc", "partials"); + config->addons, "generator", domCorpus.fileExtension, "partials"); forEachFile(partialsPath, true, [&](std::string_view pathName) -> Error { @@ -60,7 +61,7 @@ Builder( // Load JavaScript helpers std::string helpersPath = files::appendPath( - config->addons, "generator", "asciidoc", "helpers"); + config->addons, "generator", domCorpus.fileExtension, "helpers"); forEachFile(helpersPath, true, [&](std::string_view pathName)-> Expected { @@ -134,7 +135,7 @@ callTemplate( Config const& config = domCorpus->config; auto layoutDir = files::appendPath(config->addons, - "generator", "asciidoc", "layouts"); + "generator", domCorpus.fileExtension, "layouts"); auto pathName = files::appendPath(layoutDir, name); MRDOCS_TRY(auto fileText, files::getFileText(pathName)); HandlebarsOptions options; @@ -152,14 +153,14 @@ Expected Builder:: renderSinglePageHeader() { - return callTemplate("single-header.adoc.hbs", {}); + return callTemplate(fmt::format("single-header.{}.hbs", domCorpus.fileExtension), {}); } Expected Builder:: renderSinglePageFooter() { - return callTemplate("single-footer.adoc.hbs", {}); + return callTemplate(fmt::format("single-footer.{}.hbs", domCorpus.fileExtension), {}); } //------------------------------------------------ @@ -218,7 +219,7 @@ Builder:: operator()(T const& I) { return callTemplate( - "single-symbol.adoc.hbs", + fmt::format("single-symbol.{}.hbs", domCorpus.fileExtension), createContext(I)); } @@ -227,7 +228,7 @@ Builder:: operator()(OverloadSet const& OS) { return callTemplate( - "overload-set.adoc.hbs", + fmt::format("overload-set.{}.hbs", domCorpus.fileExtension), createContext(OS)); } @@ -237,6 +238,6 @@ operator()(OverloadSet const& OS) #define INFO(Type) DEFINE(Type##Info); #include -} // adoc +} // hbs } // mrdocs } // clang diff --git a/src/lib/Gen/adoc/Builder.hpp b/src/lib/Gen/hbs/Builder.hpp similarity index 82% rename from src/lib/Gen/adoc/Builder.hpp rename to src/lib/Gen/hbs/Builder.hpp index 208cbbef96..2f0f9ea811 100644 --- a/src/lib/Gen/adoc/Builder.hpp +++ b/src/lib/Gen/hbs/Builder.hpp @@ -4,15 +4,16 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // -#ifndef MRDOCS_LIB_GEN_ADOC_BUILDER_HPP -#define MRDOCS_LIB_GEN_ADOC_BUILDER_HPP +#ifndef MRDOCS_LIB_GEN_HBS_BUILDER_HPP +#define MRDOCS_LIB_GEN_HBS_BUILDER_HPP #include "Options.hpp" -#include "AdocCorpus.hpp" +#include "HandlebarsCorpus.hpp" #include "lib/Support/Radix.hpp" #include #include @@ -22,7 +23,7 @@ namespace clang { namespace mrdocs { -namespace adoc { +namespace hbs { /** Builds reference output. @@ -37,11 +38,11 @@ class Builder std::string getRelPrefix(std::size_t depth); public: - AdocCorpus const& domCorpus; + HandlebarsCorpus const& domCorpus; explicit Builder( - AdocCorpus const& corpus); + HandlebarsCorpus const& corpus); dom::Value createContext(Info const& I); dom::Value createContext(OverloadSet const& OS); @@ -62,7 +63,7 @@ class Builder operator()(OverloadSet const&); }; -} // adoc +} // hbs } // mrdocs } // clang diff --git a/src/lib/Gen/hbs/HandlebarsCorpus.cpp b/src/lib/Gen/hbs/HandlebarsCorpus.cpp new file mode 100644 index 0000000000..5873a49e76 --- /dev/null +++ b/src/lib/Gen/hbs/HandlebarsCorpus.cpp @@ -0,0 +1,241 @@ +// +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2023 Krystian Stasiowski (sdkrystian@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#include "HandlebarsCorpus.hpp" +#include "lib/Support/Radix.hpp" +#include +#include +#include +#include +#include + +namespace clang { +namespace mrdocs { +namespace hbs { + +namespace { + +dom::Value +domCreate( + const doc::Param& I, + const HandlebarsCorpus& corpus) +{ + dom::Object::storage_type entries = { + { "name", I.name } + }; + std::string s = corpus.toStringFn(corpus, I); + if (!s.empty()) + { + entries.emplace_back( + "description", std::move(s)); + } + return dom::Object(std::move(entries)); +} + +dom::Value +domCreate( + const doc::TParam& I, + const HandlebarsCorpus& corpus) +{ + dom::Object::storage_type entries = { + { "name", I.name } + }; + std::string s = corpus.toStringFn(corpus, I); + if (!s.empty()) + { + entries.emplace_back( + "description", std::move(s)); + } + return dom::Object(std::move(entries)); +} + +dom::Value +domCreate( + const doc::Throws& I, + const HandlebarsCorpus& corpus) +{ + dom::Object::storage_type entries = { + { "exception", I.exception } + }; + std::string s = corpus.toStringFn(corpus, I); + if (!s.empty()) + { + entries.emplace_back( + "description", std::move(s)); + } + return dom::Object(std::move(entries)); +} + +dom::Value +domCreate( + const doc::See& I, + const HandlebarsCorpus& corpus) +{ + return corpus.toStringFn(corpus, I); +} + +dom::Value +domCreate( + const doc::Precondition& I, + const HandlebarsCorpus& corpus) +{ + return corpus.toStringFn(corpus, I); +} + +dom::Value +domCreate( + const doc::Postcondition& I, + const HandlebarsCorpus& corpus) +{ + return corpus.toStringFn(corpus, I); +} + +} // (anon) + +dom::Object +HandlebarsCorpus:: +construct(Info const& I) const +{ + dom::Object obj = this->DomCorpus::construct(I); + obj.set("ref", getXref(I)); + return obj; +} + +std::string +HandlebarsCorpus:: +getXref(Info const& I) const +{ + bool multipage = getCorpus().config->multipage; + // use '/' as the seperator for multipage, and '-' for single-page + std::string xref = names_.getQualified( + I.id, multipage ? '/' : '-'); + // add the file extension if in multipage mode + if(multipage) + { + xref.append("."); + xref.append(fileExtension); + } + return xref; +} + +std::string +HandlebarsCorpus:: +getXref(OverloadSet const& os) const +{ + bool multipage = getCorpus().config->multipage; + // use '/' as the seperator for multipage, and '-' for single-page + std::string xref = names_.getQualified( + os, multipage ? '/' : '-'); + // add the file extension if in multipage mode + if(multipage) + { + xref.append("."); + xref.append(fileExtension); + } + return xref; +} + +dom::Value +HandlebarsCorpus:: +getJavadoc( + Javadoc const& jd) const +{ + dom::Object::storage_type objKeyValues; + objKeyValues.reserve(2); + + /* Emplace the string value representing the + Javadoc node. + + When the string is empty, the object key + is undefined. + */ + auto emplaceString = [&]( + std::string_view key, + auto const& I) + { + std::string s; + using T = std::decay_t; + if constexpr (std::derived_from) + { + // doc::visit(*t, visitor); + s += toStringFn(*this, I); + } + else if constexpr (std::ranges::range) + { + // Range value type + using U = std::ranges::range_value_t; + for(doc::Node const* t : I) + s += toStringFn(*this, *t); + } + if(! s.empty()) + { + objKeyValues.emplace_back(key, std::move(s)); + } + }; + + /* Emplace an array of objects where each element + represents the properties of the node type, + such as "name" and "description". + */ + auto emplaceObjectArray = [&]( + std::string_view key, + /* std::vector */ auto const& nodes) + { + dom::Array::storage_type elements; + elements.reserve(nodes.size()); + for(auto const& elem : nodes) + { + if(!elem) + continue; + elements.emplace_back( + domCreate(*elem, *this)); + } + if(elements.empty()) + return; + objKeyValues.emplace_back(key, dom::newArray< + dom::DefaultArrayImpl>(std::move(elements))); + }; + + auto ov = jd.makeOverview(this->getCorpus()); + // brief + if(ov.brief) + emplaceString("brief", *ov.brief); + emplaceString("description", ov.blocks); + if(ov.returns) + emplaceString("returns", *ov.returns); + emplaceObjectArray("params", ov.params); + emplaceObjectArray("tparams", ov.tparams); + emplaceObjectArray("exceptions", ov.exceptions); + emplaceObjectArray("see", ov.sees); + emplaceObjectArray("preconditions", ov.preconditions); + emplaceObjectArray("postconditions", ov.postconditions); + return dom::Object(std::move(objKeyValues)); +} + +dom::Object +HandlebarsCorpus:: +getOverloads( + OverloadSet const& os) const +{ + auto obj = DomCorpus::getOverloads(os); + // KRYSTIAN FIXME: need a better way to generate IDs + // std::string xref = + obj.set("ref", getXref(os)); + // std::replace(xref.begin(), xref.end(), '/', '-'); + obj.set("id", fmt::format("{}-{}", + toBase16(os.Parent), os.Name)); + return obj; +} + +} // hbs +} // mrdocs +} // clang diff --git a/src/lib/Gen/adoc/AdocCorpus.hpp b/src/lib/Gen/hbs/HandlebarsCorpus.hpp similarity index 68% rename from src/lib/Gen/adoc/AdocCorpus.hpp rename to src/lib/Gen/hbs/HandlebarsCorpus.hpp index 341d0264f8..cb78d9c1ae 100644 --- a/src/lib/Gen/adoc/AdocCorpus.hpp +++ b/src/lib/Gen/hbs/HandlebarsCorpus.hpp @@ -9,8 +9,8 @@ // Official repository: https://github.com/cppalliance/mrdocs // -#ifndef MRDOCS_LIB_GEN_ADOC_ADOCCORPUS_HPP -#define MRDOCS_LIB_GEN_ADOC_ADOCCORPUS_HPP +#ifndef MRDOCS_LIB_GEN_HBS_HANDLEBARSCORPUS_HPP +#define MRDOCS_LIB_GEN_HBS_HANDLEBARSCORPUS_HPP #include #include "lib/Support/LegibleNames.hpp" @@ -20,35 +20,47 @@ namespace clang { namespace mrdocs { -namespace adoc { +namespace hbs { -/** A specialized DomCorpus for generating Adoc nodes. +/** A specialized DomCorpus for generating Handlebars values. This class extends @ref DomCorpus to provide - additional functionality specific to Adoc generation. + additional functionality specific to Handlebars + generation. + */ -class AdocCorpus : public DomCorpus +class HandlebarsCorpus : public DomCorpus { public: - /** Options for the Adoc corpus. */ + /** Options for the Handlebars corpus. */ Options options; - /** Legible names for the Adoc corpus. */ + /** Legible names for the Handlebars corpus. */ LegibleNames names_; + /** File extension for the markup files. */ + std::string fileExtension; + + /** Function to convert a Javadoc node to a string. */ + std::function toStringFn; + /** Constructor. - Initializes the AdocCorpus with the given corpus and options. + Initializes the HandlebarsCorpus with the given corpus and options. @param corpus The base corpus. - @param opts Options for the Adoc corpus. + @param opts Options for the Handlebars corpus. */ - AdocCorpus( + HandlebarsCorpus( Corpus const& corpus, - Options&& opts) + Options&& opts, + std::string_view fileExtension, + std::function toStringFn) : DomCorpus(corpus) , options(std::move(opts)) , names_(corpus, options.legible_names) + , fileExtension(fileExtension) + , toStringFn(std::move(toStringFn)) { } @@ -95,7 +107,7 @@ class AdocCorpus : public DomCorpus OverloadSet const& os) const override; }; -} // adoc +} // hbs } // mrdocs } // clang diff --git a/src/lib/Gen/hbs/HandlebarsGenerator.cpp b/src/lib/Gen/hbs/HandlebarsGenerator.cpp new file mode 100644 index 0000000000..248180f034 --- /dev/null +++ b/src/lib/Gen/hbs/HandlebarsGenerator.cpp @@ -0,0 +1,161 @@ +// +// This is a derivative work. originally part of the LLVM Project. +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#include "HandlebarsGenerator.hpp" +#include "HandlebarsCorpus.hpp" +#include "Builder.hpp" +#include "Options.hpp" +#include "MultiPageVisitor.hpp" +#include "SinglePageVisitor.hpp" +#include + +namespace clang { +namespace mrdocs { +namespace hbs { + +Expected> +createExecutors( + HandlebarsCorpus const& hbsCorpus) +{ + auto const& config = hbsCorpus->config; + auto& threadPool = config.threadPool(); + ExecutorGroup group(threadPool); + for(auto i = threadPool.getThreadCount(); i--;) + { + try + { + group.emplace(hbsCorpus); + } + catch(Exception const& ex) + { + return Unexpected(ex.error()); + } + } + return group; +} + +//------------------------------------------------ +// +// HandlebarsGenerator +// +//------------------------------------------------ + +/** Return loaded Options from a configuration. +*/ +Options +loadOptions( + std::string_view fileExtension, + Config const& config) +{ + Options opt; + dom::Value domOpts = config.object().get("generator").get(fileExtension); + if (domOpts.get("legible-names").isBoolean()) + { + opt.legible_names = domOpts.get("legible-names").getBool(); + } + if (domOpts.get("template-dir").isString()) + { + opt.template_dir = domOpts.get("template-dir").getString(); + opt.template_dir = files::makeAbsolute( + opt.template_dir, + config->configDir); + } + else + { + opt.template_dir = files::appendPath( + config->addons, + "generator", + fileExtension); + } + return opt; +} + +Error +HandlebarsGenerator:: +build( + std::string_view outputPath, + Corpus const& corpus) const +{ + if (!corpus.config->multipage) + { + return Generator::build(outputPath, corpus); + } + + Options options = loadOptions(fileExtension(), corpus.config); + HandlebarsCorpus domCorpus( + corpus, std::move(options), fileExtension(), toStringFn); + auto ex = createExecutors(domCorpus); + if (!ex) + { + return ex.error(); + } + + MultiPageVisitor visitor(*ex, outputPath, corpus); + visitor(corpus.globalNamespace()); + + auto errors = ex->wait(); + if (!errors.empty()) + { + return Error(errors); + } + return Error::success(); +} + +Error +HandlebarsGenerator:: +buildOne( + std::ostream& os, + Corpus const& corpus) const +{ + auto options = loadOptions(fileExtension(), corpus.config); + + HandlebarsCorpus domCorpus( + corpus, std::move(options), fileExtension(), toStringFn); + auto ex = createExecutors(domCorpus); + if (!ex) + { + return ex.error(); + } + + std::vector errors; + ex->async( + [&os](Builder& builder) + { + auto pageText = builder.renderSinglePageHeader().value(); + os.write(pageText.data(), pageText.size()); + }); + errors = ex->wait(); + if(! errors.empty()) + return {errors}; + + SinglePageVisitor visitor(*ex, corpus, os); + visitor(corpus.globalNamespace()); + errors = ex->wait(); + if(! errors.empty()) + return {errors}; + + ex->async( + [&os](Builder& builder) + { + auto pageText = builder.renderSinglePageFooter().value(); + os.write(pageText.data(), pageText.size()); + }); + errors = ex->wait(); + if(! errors.empty()) + return {errors}; + + return Error::success(); +} + +} // hbs +} // mrdocs +} // clang diff --git a/src/lib/Gen/hbs/HandlebarsGenerator.hpp b/src/lib/Gen/hbs/HandlebarsGenerator.hpp new file mode 100644 index 0000000000..03e1cbe898 --- /dev/null +++ b/src/lib/Gen/hbs/HandlebarsGenerator.hpp @@ -0,0 +1,77 @@ +// +// This is a derivative work. originally part of the LLVM Project. +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#ifndef MRDOCS_LIB_GEN_HBS_HANDLEBARSGENERATOR_HPP +#define MRDOCS_LIB_GEN_HBS_HANDLEBARSGENERATOR_HPP + +#include +#include +#include +#include +#include +#include + +namespace clang { +namespace mrdocs { +namespace hbs { + +class HandlebarsGenerator + : public Generator +{ + std::string displayName_; + std::string fileExtension_; + using JavadocToStringFn = std::function; + JavadocToStringFn toStringFn; + +public: + HandlebarsGenerator( + std::string_view displayName, + std::string_view fileExtension, + JavadocToStringFn toStringFn) + : displayName_(displayName) + , fileExtension_(fileExtension) + , toStringFn(std::move(toStringFn)) + {} + + std::string_view + id() const noexcept override + { + return fileExtension_; + } + + std::string_view + displayName() const noexcept override + { + return displayName_; + } + + std::string_view + fileExtension() const noexcept override + { + return fileExtension_; + } + + Error + build( + std::string_view outputPath, + Corpus const& corpus) const override; + + Error + buildOne( + std::ostream& os, + Corpus const& corpus) const override; +}; + +} // hbs +} // mrdocs +} // clang + +#endif diff --git a/src/lib/Gen/adoc/MultiPageVisitor.cpp b/src/lib/Gen/hbs/MultiPageVisitor.cpp similarity index 94% rename from src/lib/Gen/adoc/MultiPageVisitor.cpp rename to src/lib/Gen/hbs/MultiPageVisitor.cpp index df5e4b3193..875acd7a36 100644 --- a/src/lib/Gen/adoc/MultiPageVisitor.cpp +++ b/src/lib/Gen/hbs/MultiPageVisitor.cpp @@ -4,6 +4,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // @@ -14,7 +15,7 @@ namespace clang { namespace mrdocs { -namespace adoc { +namespace hbs { void MultiPageVisitor:: @@ -43,7 +44,7 @@ writePage( } } -template +template T> void MultiPageVisitor:: operator()(T const& I) @@ -85,6 +86,6 @@ operator()(OverloadSet const& OS) #define INFO(Type) DEFINE(Type##Info); #include -} // adoc +} // hbs } // mrdocs } // clang diff --git a/src/lib/Gen/adoc/MultiPageVisitor.hpp b/src/lib/Gen/hbs/MultiPageVisitor.hpp similarity index 61% rename from src/lib/Gen/adoc/MultiPageVisitor.hpp rename to src/lib/Gen/hbs/MultiPageVisitor.hpp index 3707d3ff38..74fb7d07d7 100644 --- a/src/lib/Gen/adoc/MultiPageVisitor.hpp +++ b/src/lib/Gen/hbs/MultiPageVisitor.hpp @@ -4,15 +4,17 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // -#ifndef MRDOCS_LIB_GEN_ADOC_MULTIPAGEVISITOR_HPP -#define MRDOCS_LIB_GEN_ADOC_MULTIPAGEVISITOR_HPP +#ifndef MRDOCS_LIB_GEN_HBS_MULTIPAGEVISITOR_HPP +#define MRDOCS_LIB_GEN_HBS_MULTIPAGEVISITOR_HPP #include "Builder.hpp" #include +#include #include #include #include @@ -20,7 +22,7 @@ namespace clang { namespace mrdocs { -namespace adoc { +namespace hbs { /** Visitor which emites a multi-page reference. */ @@ -46,12 +48,25 @@ class MultiPageVisitor { } - template + /** Push a task for the specified Info to the executor group. + + If the Info object refers to other Info objects, their + respective tasks are also pushed to the executor group. + + */ + template T> void operator()(T const& I); + + /** Push a task for the specified OverloadSet to the executor group. + + If the OverloadSet object refers to other Info objects, their + respective tasks are also pushed to the executor group. + + */ void operator()(OverloadSet const& OS); }; -} // adoc +} // hbs } // mrdocs } // clang diff --git a/src/lib/Gen/hbs/Options.hpp b/src/lib/Gen/hbs/Options.hpp new file mode 100644 index 0000000000..a163d03a3b --- /dev/null +++ b/src/lib/Gen/hbs/Options.hpp @@ -0,0 +1,53 @@ +// +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#ifndef MRDOCS_LIB_GEN_HBS_OPTIONS_HPP +#define MRDOCS_LIB_GEN_HBS_OPTIONS_HPP + +#include +#include + +namespace clang { +namespace mrdocs { + +class Corpus; + +namespace hbs { + +/** Generator-specific options. +*/ +struct Options +{ + /** True if the generator should produce legible names. + + Legible names are symbol names safe for URLs and + file names. + + When disabled, the generator produces hashes + for symbol references. + */ + bool legible_names = true; + + /** Directory with the templates used to generate the output. + + The templates are written in Handlebars. + + The default directory is `generator/` + relative to the addons directory. + */ + std::string template_dir; +}; + +} // hbs +} // mrdocs +} // clang + +#endif diff --git a/src/lib/Gen/html/SinglePageVisitor.cpp b/src/lib/Gen/hbs/SinglePageVisitor.cpp similarity index 96% rename from src/lib/Gen/html/SinglePageVisitor.cpp rename to src/lib/Gen/hbs/SinglePageVisitor.cpp index d327a20366..86974ed239 100644 --- a/src/lib/Gen/html/SinglePageVisitor.cpp +++ b/src/lib/Gen/hbs/SinglePageVisitor.cpp @@ -4,6 +4,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // @@ -13,7 +14,7 @@ namespace clang { namespace mrdocs { -namespace html { +namespace hbs { template void @@ -96,6 +97,6 @@ writePage( #define INFO(Type) DEFINE(Type##Info); #include -} // html +} // hbs } // mrdocs } // clang diff --git a/src/lib/Gen/adoc/SinglePageVisitor.hpp b/src/lib/Gen/hbs/SinglePageVisitor.hpp similarity index 86% rename from src/lib/Gen/adoc/SinglePageVisitor.hpp rename to src/lib/Gen/hbs/SinglePageVisitor.hpp index f5cb3207d1..e333df5e9e 100644 --- a/src/lib/Gen/adoc/SinglePageVisitor.hpp +++ b/src/lib/Gen/hbs/SinglePageVisitor.hpp @@ -4,12 +4,13 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // -#ifndef MRDOCS_LIB_GEN_ADOC_SINGLEPAGEVISITOR_HPP -#define MRDOCS_LIB_GEN_ADOC_SINGLEPAGEVISITOR_HPP +#ifndef MRDOCS_LIB_GEN_HBS_SINGLEPAGEVISITOR_HPP +#define MRDOCS_LIB_GEN_HBS_SINGLEPAGEVISITOR_HPP #include "Builder.hpp" #include @@ -21,7 +22,7 @@ namespace clang { namespace mrdocs { -namespace adoc { +namespace hbs { /** Visitor which writes everything to a single page. */ @@ -50,11 +51,12 @@ class SinglePageVisitor template void operator()(T const& I); + void operator()(OverloadSet const& OS); }; -} // adoc +} // hbs } // mrdocs } // clang diff --git a/src/lib/Gen/html/Builder.cpp b/src/lib/Gen/html/Builder.cpp deleted file mode 100644 index 2a76d71cba..0000000000 --- a/src/lib/Gen/html/Builder.cpp +++ /dev/null @@ -1,237 +0,0 @@ -// -// Licensed under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) -// -// Official repository: https://github.com/cppalliance/mrdocs -// - -#include "Builder.hpp" -#include "lib/Support/Radix.hpp" -#include -#include -#include -#include -#include -#include - -namespace clang { -namespace mrdocs { - -namespace lua { -extern void lua_dump(dom::Object const& obj); -} - -namespace html { - -Builder:: -Builder( - DomCorpus const& domCorpus, - Options const& options) - : domCorpus_(domCorpus) - , corpus_(domCorpus_.getCorpus()) - , options_(options) -{ - namespace fs = std::filesystem; - - Config const& config = corpus_.config; - - // load partials - std::string partialsPath = files::appendPath( - config->addons, "generator", "html", "partials"); - forEachFile(partialsPath, true, - [&](std::string_view pathName) -> Error - { - fs::path path = pathName; - if(path.extension() != ".hbs") - return Error::success(); - path = path.lexically_relative(partialsPath); - while(path.has_extension()) - path.replace_extension(); - - auto text = files::getFileText(pathName); - if (! text) - return text.error(); - - hbs_.registerPartial( - path.generic_string(), *text); - return Error::success(); - }).maybeThrow(); - - // Load JavaScript helpers - std::string helpersPath = files::appendPath( - config->addons, "generator", "html", "helpers"); - forEachFile(helpersPath, true, - [&](std::string_view pathName)-> Expected - { - // Register JS helper function in the global object - constexpr std::string_view ext = ".js"; - if (!pathName.ends_with(ext)) return {}; - auto name = files::getFileName(pathName); - name.remove_suffix(ext.size()); - MRDOCS_TRY(auto script, files::getFileText(pathName)); - MRDOCS_TRY(js::registerHelper(hbs_, name, ctx_, script)); - return {}; - }).maybeThrow(); - - hbs_.registerHelper( - "is_multipage", - dom::makeInvocable([res = config->multipage]() -> Expected { - return res; - })); - - hbs_.registerHelper("primary_location", - dom::makeInvocable([](dom::Value const& v) -> - dom::Value - { - dom::Value src_loc = v.get("loc"); - if(! src_loc) - return nullptr; - dom::Value decls = src_loc.get("decl"); - if(dom::Value def = src_loc.get("def")) - { - // for classes/enums, prefer the definition - dom::Value kind = v.get("kind"); - if(kind == "record" || kind == "enum") - return def; - - // we only every want to use the definition - // for non-tag types when no other declaration - // exists - if(! decls) - return def; - } - if(! decls.isArray()) - return nullptr; - dom::Value first; - // otherwise, use whatever declaration had docs. - // if no declaration had docs, fallback to the - // first declaration - for(const dom::Value& loc : decls.getArray()) - { - if(loc.get("documented")) - return loc; - else if(! first) - first = loc; - } - return first; - })); - - helpers::registerStringHelpers(hbs_); - helpers::registerAntoraHelpers(hbs_); - helpers::registerContainerHelpers(hbs_); -} - -//------------------------------------------------ - -Expected -Builder:: -callTemplate( - std::string_view name, - dom::Value const& context) -{ - Config const& config = corpus_.config; - - js::Scope scope(ctx_); - - - auto Handlebars = scope.getGlobal("Handlebars"); - auto layoutDir = files::appendPath(config->addons, - "generator", "html", "layouts"); - auto pathName = files::appendPath(layoutDir, name); - MRDOCS_TRY(auto fileText, files::getFileText(pathName)); - HandlebarsOptions options; - options.noEscape = true; - Expected exp = - hbs_.try_render(fileText, context, options); - if (!exp) - { - return Unexpected(Error(exp.error().what())); - } - return *exp; -} - -Expected -Builder:: -renderSinglePageHeader() -{ - return callTemplate("single-header.html.hbs", {}); -} - -Expected -Builder:: -renderSinglePageFooter() -{ - return callTemplate("single-footer.html.hbs", {}); -} - -//------------------------------------------------ - -std::string -Builder:: -getRelPrefix(std::size_t depth) -{ - std::string rel_prefix; - if(! depth ||! domCorpus_->config->multipage) - return rel_prefix; - --depth; - rel_prefix.reserve(depth * 3); - while(depth--) - rel_prefix.append("../"); - return rel_prefix; -} - -dom::Value -Builder:: -createContext( - SymbolID const& id) -{ - return dom::Object({ - { "symbol", domCorpus_.get(id) } - }); -} - -dom::Value -Builder:: -createContext( - OverloadSet const& OS) -{ - dom::Object::storage_type props; - props.emplace_back("symbol", - domCorpus_.getOverloads(OS)); - const Info& Parent = domCorpus_->get(OS.Parent); - props.emplace_back("relfileprefix", - getRelPrefix(Parent.Namespace.size() + 1)); - return dom::Object(std::move(props)); -} - -template -Expected -Builder:: -operator()(T const& I) -{ - return callTemplate( - "single-symbol.html.hbs", - createContext(I.id)); -} - -Expected -Builder:: -operator()(OverloadSet const& OS) -{ - return callTemplate( - "overload-set.html.hbs", - createContext(OS)); -} - -#define DEFINE(T) template Expected \ - Builder::operator()(T const&) - -#define INFO(Type) DEFINE(Type##Info); -#include - -} // html -} // mrdocs -} // clang diff --git a/src/lib/Gen/html/Builder.hpp b/src/lib/Gen/html/Builder.hpp deleted file mode 100644 index 0c92c4566d..0000000000 --- a/src/lib/Gen/html/Builder.hpp +++ /dev/null @@ -1,69 +0,0 @@ -// -// Licensed under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) -// -// Official repository: https://github.com/cppalliance/mrdocs -// - -#ifndef MRDOCS_LIB_GEN_HTML_BUILDER_HPP -#define MRDOCS_LIB_GEN_HTML_BUILDER_HPP - -#include "Options.hpp" -#include "lib/Support/Radix.hpp" -#include -#include -#include -#include -#include - -namespace clang { -namespace mrdocs { -namespace html { - -/** Builds reference output. - - This contains all the state information - for a single thread to generate output. -*/ -class Builder -{ - DomCorpus const& domCorpus_; - Corpus const& corpus_; - Options options_; - js::Context ctx_; - Handlebars hbs_; - - std::string getRelPrefix(std::size_t depth); - -public: - Builder( - DomCorpus const& domCorpus, - Options const& options); - - dom::Value createContext(SymbolID const& id); - dom::Value createContext(OverloadSet const& OS); - - Expected - callTemplate( - std::string_view name, - dom::Value const& context); - - Expected renderSinglePageHeader(); - Expected renderSinglePageFooter(); - - template - Expected - operator()(T const&); - - Expected - operator()(OverloadSet const& OS); -}; - -} // html -} // mrdocs -} // clang - -#endif diff --git a/src/lib/Gen/html/HTMLCorpus.cpp b/src/lib/Gen/html/DocVisitor.cpp similarity index 72% rename from src/lib/Gen/html/HTMLCorpus.cpp rename to src/lib/Gen/html/DocVisitor.cpp index a2a01aaa42..29741830bc 100644 --- a/src/lib/Gen/html/HTMLCorpus.cpp +++ b/src/lib/Gen/html/DocVisitor.cpp @@ -5,56 +5,23 @@ // // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) // Copyright (c) 2023 Krystian Stasiowski (sdkrystian@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // -#include "HTMLCorpus.hpp" -#include -#include -#include +#include "DocVisitor.hpp" +#include "lib/Support/Radix.hpp" #include - +#include #include +#include +#include namespace clang { namespace mrdocs { namespace html { -namespace { - -class DocVisitor -{ - std::string& dest_; - std::back_insert_iterator ins_; - -public: - explicit DocVisitor(std::string& dest) noexcept; - - void operator()(doc::Admonition const& I); - void operator()(doc::Code const& I); - void operator()(doc::Heading const& I); - void operator()(doc::Paragraph const& I); - void operator()(doc::Link const& I); - void operator()(doc::ListItem const& I); - void operator()(doc::Param const& I); - void operator()(doc::Returns const& I); - void operator()(doc::Text const& I); - void operator()(doc::Styled const& I); - void operator()(doc::TParam const& I); - - std::size_t measureLeftMargin( - doc::List const& list); -}; - -DocVisitor:: -DocVisitor( - std::string& dest) noexcept - : dest_(dest) - , ins_(std::back_inserter(dest_)) -{ -} - void DocVisitor:: operator()( @@ -238,6 +205,22 @@ operator()(doc::TParam const& I) //dest_ += I.string; } +void +DocVisitor:: +operator()(doc::Reference const& I) +{ + if(I.id == SymbolID::invalid) + return (*this)(static_cast(I)); + fmt::format_to(std::back_inserter(dest_), "{}", + corpus_.getXref(corpus_->get(I.id)), I.string); +} + +void +DocVisitor:: +operator()(doc::Throws const& I) +{ +} + std::size_t DocVisitor:: measureLeftMargin( @@ -258,50 +241,6 @@ measureLeftMargin( return n; } -} // (anon) - -dom::Value -HTMLCorpus:: -getJavadoc( - Javadoc const& jd) const -{ - dom::Object::storage_type list; - - auto maybeEmplace = [&]( - std::string_view key, - auto const& I) - { - std::string s; - DocVisitor visitor(s); - using T = std::decay_t; - if constexpr (std::derived_from) - { - doc::visit(I, visitor); - } - else if constexpr (std::ranges::range) - { - for(auto const& node : I) - doc::visit(*node, visitor); - } - if(!s.empty()) - { - list.emplace_back(key, std::move(s)); - } - }; - - list.reserve(2); - auto ov = jd.makeOverview(this->getCorpus()); - // brief - if(ov.brief) - maybeEmplace("brief", *ov.brief); - maybeEmplace("description", ov.blocks); - if(ov.returns) - maybeEmplace("returns", *ov.returns); - maybeEmplace("params", ov.params); - maybeEmplace("tparams", ov.tparams); - return dom::Object(std::move(list)); -} - } // html } // mrdocs } // clang diff --git a/src/lib/Gen/html/DocVisitor.hpp b/src/lib/Gen/html/DocVisitor.hpp new file mode 100644 index 0000000000..53f0038e3c --- /dev/null +++ b/src/lib/Gen/html/DocVisitor.hpp @@ -0,0 +1,72 @@ +// +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#ifndef MRDOCS_LIB_GEN_HTML_DOCVISITOR_HPP +#define MRDOCS_LIB_GEN_HTML_DOCVISITOR_HPP + +#include +#include "lib/Gen/hbs/HandlebarsCorpus.hpp" +#include + +namespace clang { +namespace mrdocs { +namespace html { + +class DocVisitor +{ + hbs::HandlebarsCorpus const& corpus_; + std::string& dest_; + std::back_insert_iterator ins_; + + template + bool + write( + const doc::Node& node, + Fn&& fn) + { + const auto n_before = dest_.size(); + doc::visit(node, std::forward(fn)); + return dest_.size() != n_before; + } + +public: + DocVisitor( + hbs::HandlebarsCorpus const& corpus, + std::string& dest) noexcept + : corpus_(corpus) + , dest_(dest) + , ins_(std::back_inserter(dest_)) + { + } + + void operator()(doc::Admonition const& I); + void operator()(doc::Code const& I); + void operator()(doc::Heading const& I); + void operator()(doc::Paragraph const& I); + void operator()(doc::Link const& I); + void operator()(doc::ListItem const& I); + void operator()(doc::Param const& I); + void operator()(doc::Returns const& I); + void operator()(doc::Text const& I); + void operator()(doc::Styled const& I); + void operator()(doc::TParam const& I); + void operator()(doc::Reference const& I); + void operator()(doc::Throws const& I); + + std::size_t measureLeftMargin( + doc::List const& list); +}; + +} // html +} // mrdocs +} // clang + +#endif diff --git a/src/lib/Gen/html/HTMLCorpus.hpp b/src/lib/Gen/html/HTMLCorpus.hpp deleted file mode 100644 index bdee006d1a..0000000000 --- a/src/lib/Gen/html/HTMLCorpus.hpp +++ /dev/null @@ -1,57 +0,0 @@ -// -// Licensed under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) -// -// Official repository: https://github.com/cppalliance/mrdocs -// - -#ifndef MRDOCS_LIB_GEN_HTML_HTMLCORPUS_HPP -#define MRDOCS_LIB_GEN_HTML_HTMLCORPUS_HPP - -#include -#include - -namespace clang { -namespace mrdocs { -namespace html { - -/** A specialized DomCorpus for generating HTML nodes. - - This class extends @ref DomCorpus to provide - additional functionality specific to HTML generation. -*/ -class HTMLCorpus : public DomCorpus -{ -public: - /** Constructor. - - Initializes the HTMLCorpus with the given corpus and options. - - @param corpus The base corpus. - @param opts Options for the HTML corpus. - */ - explicit - HTMLCorpus( - Corpus const& corpus) - : DomCorpus(corpus) - { - } - - /** Return a Dom value representing the Javadoc. - - @param jd The Javadoc object to get the Javadoc for. - @return A dom::Value representing the Javadoc. - */ - dom::Value - getJavadoc( - Javadoc const& jd) const override; -}; - -} // html -} // mrdocs -} // clang - -#endif diff --git a/src/lib/Gen/html/HTMLGenerator.cpp b/src/lib/Gen/html/HTMLGenerator.cpp index 40fe09f24f..1073aa6e63 100644 --- a/src/lib/Gen/html/HTMLGenerator.cpp +++ b/src/lib/Gen/html/HTMLGenerator.cpp @@ -9,113 +9,25 @@ // Official repository: https://github.com/cppalliance/mrdocs // -#include "HTMLCorpus.hpp" #include "HTMLGenerator.hpp" -#include "Builder.hpp" -#include "MultiPageVisitor.hpp" -#include "SinglePageVisitor.hpp" -#include "lib/Support/LegibleNames.hpp" -#include -#include -#include -#include -#include +#include "DocVisitor.hpp" namespace clang { namespace mrdocs { namespace html { -Expected> -createExecutors( - DomCorpus const& domCorpus) -{ - MRDOCS_TRY(auto options, loadOptions(*domCorpus)); - auto const& config = domCorpus->config; - auto& threadPool = config.threadPool(); - ExecutorGroup group(threadPool); - for(auto i = threadPool.getThreadCount(); i--;) - { - try - { - group.emplace(domCorpus, options); - } - catch(Exception const& ex) - { - return Unexpected(ex.error()); - } - } - return group; -} - -//------------------------------------------------ -// -// HTMLGenerator -// -//------------------------------------------------ - -Error HTMLGenerator:: -build( - std::string_view outputPath, - Corpus const& corpus) const -{ - if(! corpus.config->multipage) - return Generator::build(outputPath, corpus); - - HTMLCorpus domCorpus(corpus); - auto ex = createExecutors(domCorpus); - if(! ex) - return ex.error(); - - MultiPageVisitor visitor(*ex, outputPath, corpus); - visitor(corpus.globalNamespace()); - auto errors = ex->wait(); - if(! errors.empty()) - return Error(errors); - return Error::success(); -} - -Error -HTMLGenerator:: -buildOne( - std::ostream& os, - Corpus const& corpus) const -{ - HTMLCorpus domCorpus(corpus); - auto ex = createExecutors(domCorpus); - if(! ex) - return ex.error(); - - std::vector errors; - - ex->async( - [&os](Builder& builder) - { - auto pageText = builder.renderSinglePageHeader().value(); - os.write(pageText.data(), pageText.size()); - }); - errors = ex->wait(); - if(! errors.empty()) - return Error(errors); - - SinglePageVisitor visitor(*ex, corpus, os); - visitor(corpus.globalNamespace()); - errors = ex->wait(); - if(! errors.empty()) - return Error(errors); - - ex->async( - [&os](Builder& builder) - { - auto pageText = builder.renderSinglePageFooter().value(); - os.write(pageText.data(), pageText.size()); - }); - errors = ex->wait(); - if(! errors.empty()) - return Error(errors); - - return Error::success(); -} +HTMLGenerator() + : hbs::HandlebarsGenerator("HTML", "html", []( + hbs::HandlebarsCorpus const& c, + doc::Node const& I) -> std::string + { + std::string s; + DocVisitor visitor(c, s); + doc::visit(I, visitor); + return s; + }) +{} } // html diff --git a/src/lib/Gen/html/HTMLGenerator.hpp b/src/lib/Gen/html/HTMLGenerator.hpp index c74c132474..ff9059ac63 100644 --- a/src/lib/Gen/html/HTMLGenerator.hpp +++ b/src/lib/Gen/html/HTMLGenerator.hpp @@ -5,6 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // @@ -14,42 +15,17 @@ #include #include +#include namespace clang { namespace mrdocs { namespace html { class HTMLGenerator - : public Generator + : public hbs::HandlebarsGenerator { public: - std::string_view - id() const noexcept override - { - return "html"; - } - - std::string_view - displayName() const noexcept override - { - return "HTML"; - } - - std::string_view - fileExtension() const noexcept override - { - return "html"; - } - - Error - build( - std::string_view outputPath, - Corpus const& corpus) const override; - - Error - buildOne( - std::ostream& os, - Corpus const& corpus) const override; + HTMLGenerator(); }; } // html diff --git a/src/lib/Gen/html/MultiPageVisitor.cpp b/src/lib/Gen/html/MultiPageVisitor.cpp deleted file mode 100644 index eaa08034ee..0000000000 --- a/src/lib/Gen/html/MultiPageVisitor.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// -// Licensed under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) -// -// Official repository: https://github.com/cppalliance/mrdocs -// - -#include "MultiPageVisitor.hpp" -#include -#include - -namespace clang { -namespace mrdocs { -namespace html { - -template -void -MultiPageVisitor:: -operator()(T const& I) -{ - renderPage(I); - if constexpr( - T::isNamespace() || - T::isRecord() || - T::isEnum()) - corpus_.traverse(I, *this); -} - -void -MultiPageVisitor:: -renderPage( - auto const& I) -{ - ex_.async( - [this, &I](Builder& builder) - { - auto pageText = builder(I).value(); - - std::string fileName = files::appendPath( - outputPath_, toBase16(I.id) + ".html"); - std::ofstream os; - try - { - os.open(fileName, - std::ios_base::binary | - std::ios_base::out | - std::ios_base::trunc // | std::ios_base::noreplace - ); - os.write(pageText.data(), pageText.size()); - } - catch(std::exception const& ex) - { - formatError("std::ofstream(\"{}\") threw \"{}\"", fileName, ex.what()).Throw(); - } - }); -} - -#define DEFINE(T) template void \ - MultiPageVisitor::operator()(T const&) - -#define INFO(Type) DEFINE(Type##Info); -#include - -} // html -} // mrdocs -} // clang diff --git a/src/lib/Gen/html/MultiPageVisitor.hpp b/src/lib/Gen/html/MultiPageVisitor.hpp deleted file mode 100644 index 0c355aba05..0000000000 --- a/src/lib/Gen/html/MultiPageVisitor.hpp +++ /dev/null @@ -1,53 +0,0 @@ -// -// Licensed under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) -// -// Official repository: https://github.com/cppalliance/mrdocs -// - -#ifndef MRDOCS_LIB_GEN_HTML_MULTIPAGEVISITOR_HPP -#define MRDOCS_LIB_GEN_HTML_MULTIPAGEVISITOR_HPP - -#include "Builder.hpp" -#include -#include -#include -#include -#include - -namespace clang { -namespace mrdocs { -namespace html { - -/** Visitor which emites a multi-page reference. -*/ -class MultiPageVisitor -{ - ExecutorGroup& ex_; - std::string_view outputPath_; - Corpus const& corpus_; - -public: - MultiPageVisitor( - ExecutorGroup& ex, - std::string_view outputPath, - Corpus const& corpus) noexcept - : ex_(ex) - , outputPath_(outputPath) - , corpus_(corpus) - { - } - - template - void operator()(T const& I); - void renderPage(auto const& I); -}; - -} // html -} // mrdocs -} // clang - -#endif diff --git a/src/lib/Gen/html/Options.cpp b/src/lib/Gen/html/Options.cpp deleted file mode 100644 index e701a0137e..0000000000 --- a/src/lib/Gen/html/Options.cpp +++ /dev/null @@ -1,144 +0,0 @@ -// -// This is a derivative work. originally part of the LLVM Project. -// Licensed under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) -// -// Official repository: https://github.com/cppalliance/mrdocs -// - -#include "Options.hpp" -#include "lib/Support/Yaml.hpp" -#include "lib/Lib/ConfigImpl.hpp" // VFALCO This is a problem -#include -#include -#include -#include - -namespace clang { -namespace mrdocs { -namespace html { - -struct YamlKey -{ - Options& opt; - - explicit - YamlKey( - Options& opt_) noexcept - : opt(opt_) - { - } -}; - -struct YamlGenKey -{ - Options& opt; - - explicit - YamlGenKey( - Options& opt_) - : opt(opt_) - { - } -}; - -} // html -} // mrdocs -} // clang - -template<> -struct llvm::yaml::MappingTraits< - clang::mrdocs::html::YamlKey> -{ - static void mapping(IO& io, - clang::mrdocs::html::YamlKey& yk) - { - auto& opt= yk.opt; - io.mapOptional("legible-names", opt.legible_names); - io.mapOptional("template-dir", opt.template_dir); - } -}; - -template<> -struct llvm::yaml::MappingTraits< - clang::mrdocs::html::YamlGenKey> -{ - static void mapping(IO& io, - clang::mrdocs::html::YamlGenKey& ygk) - { - clang::mrdocs::html::YamlKey yk(ygk.opt); - io.mapOptional("html", yk); - } -}; - -template<> -struct llvm::yaml::MappingTraits< - clang::mrdocs::html::Options> -{ - static void mapping(IO& io, - clang::mrdocs::html::Options& opt) - { - clang::mrdocs::html::YamlGenKey ygk(opt); - io.mapOptional("generator", ygk); - } -}; - -//------------------------------------------------ - -namespace clang { -namespace mrdocs { -namespace html { - -Expected -loadOptions( - Corpus const& corpus) -{ - Options opt; - - YamlReporter reporter; - - // config - { - llvm::yaml::Input yin( - corpus.config->configYaml, - &reporter, reporter); - yin.setAllowUnknownKeys(true); - yin >> opt; - if(auto ec = yin.error()) - return Unexpected(Error(ec)); - } - - // adjust relative paths - if(! opt.template_dir.empty()) - { - opt.template_dir = files::makeAbsolute( - opt.template_dir, - corpus.config->configDir); - } - else - { - // VFALCO TODO get process executable - // and form a path relative to that. - } - - if(! opt.template_dir.empty()) - { - opt.template_dir = files::makeAbsolute( - opt.template_dir, - corpus.config->configDir); - } - else - { - // VFALCO TODO get process executable - // and form a path relative to that. - } - - return opt; -} - -} // html -} // mrdocs -} // clang diff --git a/src/lib/Gen/html/Options.hpp b/src/lib/Gen/html/Options.hpp deleted file mode 100644 index faac05fe75..0000000000 --- a/src/lib/Gen/html/Options.hpp +++ /dev/null @@ -1,42 +0,0 @@ -// -// Licensed under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) -// -// Official repository: https://github.com/cppalliance/mrdocs -// - -#ifndef MRDOCS_LIB_GEN_HTML_OPTIONS_HPP -#define MRDOCS_LIB_GEN_HTML_OPTIONS_HPP - -#include -#include - -namespace clang { -namespace mrdocs { - -class Corpus; - -namespace html { - -/** Generator-specific options. -*/ -struct Options -{ - bool legible_names = false; - std::string template_dir; -}; - -/** Return loaded Options from a configuration. -*/ -Expected -loadOptions( - Corpus const& corpus); - -} // html -} // mrdocs -} // clang - -#endif diff --git a/src/lib/Gen/html/SinglePageVisitor.hpp b/src/lib/Gen/html/SinglePageVisitor.hpp deleted file mode 100644 index e153dbe702..0000000000 --- a/src/lib/Gen/html/SinglePageVisitor.hpp +++ /dev/null @@ -1,60 +0,0 @@ -// -// Licensed under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) -// -// Official repository: https://github.com/cppalliance/mrdocs -// - -#ifndef MRDOCS_LIB_GEN_HTML_SINGLEPAGEVISITOR_HPP -#define MRDOCS_LIB_GEN_HTML_SINGLEPAGEVISITOR_HPP - -#include "Builder.hpp" -#include -#include -#include -#include -#include - -namespace clang { -namespace mrdocs { -namespace html { - -/** Visitor which writes everything to a single page. -*/ -class SinglePageVisitor -{ - ExecutorGroup& ex_; - Corpus const& corpus_; - std::ostream& os_; - std::size_t numPages_ = 0; - std::mutex mutex_; - std::size_t topPage_ = 0; - std::vector> pages_; - -public: - SinglePageVisitor( - ExecutorGroup& ex, - Corpus const& corpus, - std::ostream& os) noexcept - : ex_(ex) - , corpus_(corpus) - , os_(os) - { - } - - template - void operator()(T const& I); - void operator()(OverloadSet const& OS); - void renderPage(auto const& I, std::size_t pageNumber); - void writePage(std::string pageText, std::size_t pageNumber); -}; - -} // html -} // mrdocs -} // clang - -#endif diff --git a/src/lib/Support/Error.cpp b/src/lib/Support/Error.cpp index 584a5cab45..c950e8f939 100644 --- a/src/lib/Support/Error.cpp +++ b/src/lib/Support/Error.cpp @@ -166,6 +166,7 @@ namespace report { static llvm::sys::Mutex mutex_; static Level level_ = Level::debug; +static bool sourceLocationWarnings_ = true; constinit Results results{}; @@ -191,6 +192,12 @@ setMinimumLevel( level_ = level; } +void +setSourceLocationWarnings(bool b) noexcept +{ + sourceLocationWarnings_ = b; +} + void print( std::string const& text) @@ -240,10 +247,11 @@ call_impl( { llvm::raw_string_ostream os(s); f(os); - if(loc && ( - level == Level::warn || - level == Level::error || - level == Level::fatal)) + if(sourceLocationWarnings_ && + loc && ( + level == Level::warn || + level == Level::error || + level == Level::fatal)) { os << "\n\n"; os << "An issue occurred during execution.\n"; diff --git a/src/lib/Support/Generator.cpp b/src/lib/Support/Generator.cpp index 39f423f127..9e81012252 100644 --- a/src/lib/Support/Generator.cpp +++ b/src/lib/Support/Generator.cpp @@ -25,7 +25,7 @@ namespace mrdocs { Generator:: ~Generator() noexcept = default; -/* default implementation of this function +/* Default implementation of this function assumes the output is single page, and emits the file reference.ext using the extension of the generator. diff --git a/src/lib/Support/GeneratorsImpl.hpp b/src/lib/Support/GeneratorsImpl.hpp index 8d738de597..e2e6fe26d9 100644 --- a/src/lib/Support/GeneratorsImpl.hpp +++ b/src/lib/Support/GeneratorsImpl.hpp @@ -26,7 +26,7 @@ namespace mrdocs { class MRDOCS_VISIBLE GeneratorsImpl : public Generators { - llvm::SmallVector plist_; + llvm::SmallVector plist_; llvm::SmallVector< std::unique_ptr> list_; diff --git a/src/test/TestMain.cpp b/src/test/TestMain.cpp index 20b4d295c4..7983f383a1 100644 --- a/src/test/TestMain.cpp +++ b/src/test/TestMain.cpp @@ -82,6 +82,8 @@ int test_main(int argc, char const** argv) report::setMinimumLevel(report::getLevel( testArgs.report.getValue())); + report::setSourceLocationWarnings(false); + if(!testArgs.inputs.empty()) DoTestAction(argv); diff --git a/test-files/golden-tests/alias-template.html b/test-files/golden-tests/alias-template.html index 9e401e070d..816e241210 100644 --- a/test-files/golden-tests/alias-template.html +++ b/test-files/golden-tests/alias-template.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,28 +24,28 @@

Types

- A + A - B + B - C + C - D + D @@ -58,10 +55,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -90,10 +84,7 @@

Synopsis

- -[#[object Object]] - -
+

Class B

@@ -124,10 +115,7 @@

Synopsis

- -[#[object Object]] - -
+

C

@@ -147,15 +135,12 @@

Synopsis

             template
-using C = A;
+using C = A;
         
- -[#[object Object]] - -
+

Class D

@@ -196,7 +181,7 @@

Types

- E + E @@ -208,12 +193,9 @@

Types

- -[#[object Object]] - -
+
-

D::E

+

D::E

@@ -231,7 +213,7 @@

Synopsis

             template
-using E = B;
+using E = B;
         
diff --git a/test-files/golden-tests/attributes_1.html b/test-files/golden-tests/attributes_1.html index e6392017d7..b3d647d164 100644 --- a/test-files/golden-tests/attributes_1.html +++ b/test-files/golden-tests/attributes_1.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Functions

- f + f @@ -37,10 +34,7 @@

Functions

- -[#[object Object]] - -
+

Function f

diff --git a/test-files/golden-tests/brief-1.html b/test-files/golden-tests/brief-1.html index 830fee2d1f..2214e15613 100644 --- a/test-files/golden-tests/brief-1.html +++ b/test-files/golden-tests/brief-1.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Functions

- f5 + f5

brief bold it continues to the line.

@@ -36,7 +33,7 @@

Functions

- f6 + f6

brief

@@ -48,10 +45,7 @@

Functions

- -[#[object Object]] - -
+

Function f5

brief bold it continues to the line.

@@ -81,10 +75,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f6

brief

diff --git a/test-files/golden-tests/brief-2.html b/test-files/golden-tests/brief-2.html index 8c878303b9..4205241c8a 100644 --- a/test-files/golden-tests/brief-2.html +++ b/test-files/golden-tests/brief-2.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Functions

- f1 + f1

brief

@@ -36,7 +33,7 @@

Functions

- f2 + f2

brief

@@ -45,7 +42,7 @@

Functions

- f3 + f3

brief

@@ -54,7 +51,7 @@

Functions

- f4 + f4

brief x

@@ -63,7 +60,7 @@

Functions

- f5 + f5

br ief

@@ -72,7 +69,7 @@

Functions

- f6 + f6

br ief

@@ -84,10 +81,7 @@

Functions

- -[#[object Object]] - -
+

Function f1

brief

@@ -117,10 +111,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f2

brief

@@ -150,10 +141,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f3

brief

@@ -183,10 +171,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f4

brief x

@@ -222,10 +207,7 @@

Description

- -[#[object Object]] - -
+

Function f5

br ief

@@ -255,10 +237,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f6

br ief

diff --git a/test-files/golden-tests/canonical_1.html b/test-files/golden-tests/canonical_1.html index ae937a1c71..2454a07fb4 100644 --- a/test-files/golden-tests/canonical_1.html +++ b/test-files/golden-tests/canonical_1.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,56 +24,56 @@

Types

- A + A - B + B - Ba + Ba - Bx + Bx - a + a - b + b - bA + bA - ba + ba @@ -86,10 +83,7 @@

Types

- -[#[object Object]] - -
+

Class B

@@ -117,10 +111,7 @@

Synopsis

- -[#[object Object]] - -
+

Class b

@@ -148,10 +139,7 @@

Synopsis

- -[#[object Object]] - -
+

Class A

@@ -179,10 +167,7 @@

Synopsis

- -[#[object Object]] - -
+

Class a

@@ -210,10 +195,7 @@

Synopsis

- -[#[object Object]] - -
+

Class Ba

@@ -241,10 +223,7 @@

Synopsis

- -[#[object Object]] - -
+

Class bA

@@ -272,10 +251,7 @@

Synopsis

- -[#[object Object]] - -
+

Class Bx

@@ -303,10 +279,7 @@

Synopsis

- -[#[object Object]] - -
+

Class ba

diff --git a/test-files/golden-tests/class-template-partial-spec.html b/test-files/golden-tests/class-template-partial-spec.html index 36f1a2a0f9..29d9c28554 100644 --- a/test-files/golden-tests/class-template-partial-spec.html +++ b/test-files/golden-tests/class-template-partial-spec.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -81,21 +75,21 @@

Types

- B + B - B + B - B + B @@ -107,12 +101,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -141,12 +132,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -164,7 +152,7 @@

Synopsis

             template
-struct B;
+struct B;
         
@@ -173,12 +161,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -196,7 +181,7 @@

Synopsis

             template<>
-struct B;
+struct B;
         
diff --git a/test-files/golden-tests/class-template-spec.html b/test-files/golden-tests/class-template-spec.html index d1ab8146e4..c4dcc8b768 100644 --- a/test-files/golden-tests/class-template-spec.html +++ b/test-files/golden-tests/class-template-spec.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,63 +24,63 @@

Types

- A + A - A + A - A + A - B + B - B + B - B + B - C + C - C + C - C + C @@ -93,10 +90,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -137,7 +131,7 @@

Member Functions

- f + f @@ -149,12 +143,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

@@ -180,10 +171,7 @@

Synopsis

- -[#[object Object]] - -
+

Class A

@@ -203,7 +191,7 @@

Synopsis

             template<>
-struct A;
+struct A;
         
@@ -224,7 +212,7 @@

Member Functions

- g + g @@ -236,12 +224,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::g

+

Function A::g

@@ -267,10 +252,7 @@

Synopsis

- -[#[object Object]] - -
+

Class A

@@ -290,7 +272,7 @@

Synopsis

             template<>
-struct A;
+struct A;
         
@@ -311,7 +293,7 @@

Member Functions

- h + h @@ -323,12 +305,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::h

+

Function A::h

@@ -354,10 +333,7 @@

Synopsis

- -[#[object Object]] - -
+

Class B

@@ -398,7 +374,7 @@

Member Functions

- f + f @@ -410,12 +386,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function B::f

+

Function B::f

@@ -441,10 +414,7 @@

Synopsis

- -[#[object Object]] - -
+

Class B

@@ -464,7 +434,7 @@

Synopsis

             template
-struct B;
+struct B;
         
@@ -485,7 +455,7 @@

Member Functions

- g + g @@ -497,12 +467,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function B::g

+

Function B::g

@@ -528,10 +495,7 @@

Synopsis

- -[#[object Object]] - -
+

Class B

@@ -551,7 +515,7 @@

Synopsis

             template
-struct B;
+struct B;
         
@@ -572,7 +536,7 @@

Member Functions

- h + h @@ -584,12 +548,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function B::h

+

Function B::h

@@ -615,10 +576,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C

@@ -661,7 +619,7 @@

Member Functions

- f + f @@ -673,12 +631,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function C::f

+

Function C::f

@@ -704,10 +659,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C

@@ -727,7 +679,7 @@

Synopsis

             template<>
-struct C;
+struct C;
         
@@ -748,7 +700,7 @@

Member Functions

- g + g @@ -760,12 +712,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function C::g

+

Function C::g

@@ -791,10 +740,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C

@@ -814,7 +760,7 @@

Synopsis

             template
-struct C;
+struct C;
         
@@ -835,7 +781,7 @@

Member Functions

- h + h @@ -847,12 +793,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function C::h

+

Function C::h

diff --git a/test-files/golden-tests/class-template-specializations-1.html b/test-files/golden-tests/class-template-specializations-1.html index 70d0c81591..a7ef202cbb 100644 --- a/test-files/golden-tests/class-template-specializations-1.html +++ b/test-files/golden-tests/class-template-specializations-1.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,371 +24,371 @@

Types

- R0 + R0 - R1 + R1 - R10 + R10 - R11 + R11 - R12 + R12 - R13 + R13 - R14 + R14 - R15 + R15 - R16 + R16 - R17 + R17 - R18 + R18 - R19 + R19 - R2 + R2 - R20 + R20 - R21 + R21 - R22 + R22 - R23 + R23 - R24 + R24 - R25 + R25 - R26 + R26 - R27 + R27 - R28 + R28 - R29 + R29 - R3 + R3 - R30 + R30 - R31 + R31 - R32 + R32 - R33 + R33 - R34 + R34 - R35 + R35 - R36 + R36 - R37 + R37 - R38 + R38 - R39 + R39 - R4 + R4 - R40 + R40 - R41 + R41 - R42 + R42 - R43 + R43 - R44 + R44 - R45 + R45 - R46 + R46 - R47 + R47 - R48 + R48 - R5 + R5 - R6 + R6 - R7 + R7 - R8 + R8 - R9 + R9 - S0<1, int*> + S0<1, int*> - S0<1, T*> + S0<1, T*> - S0<0> + S0<0> - S0 + S0 @@ -401,10 +398,7 @@

Types

- -[#[object Object]] - -
+

Class S0

@@ -447,14 +441,14 @@

Types

- S1 + S1 - S5 + S5 @@ -478,7 +472,7 @@

Member Functions

- f0 + f0 @@ -490,12 +484,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function S0::f0

+

Function S0::f0

@@ -521,12 +512,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class S0::S1

+

Class S0::S1

@@ -564,7 +552,7 @@

Types

- S2 + S2 @@ -588,7 +576,7 @@

Member Functions

- f1 + f1 @@ -600,12 +588,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function S0::S1::f1

+

Function S0::S1::f1

@@ -631,12 +616,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class S0::S1::S2

+

Class S0::S1::S2

@@ -677,14 +659,14 @@

Types

- S3 + S3 - S4 + S4 @@ -708,7 +690,7 @@

Member Functions

- f2 + f2 @@ -720,12 +702,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function S0::S1::S2::f2

+

Function S0::S1::S2::f2

@@ -751,12 +730,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class S0::S1::S2::S3

+

Class S0::S1::S2::S3

@@ -794,7 +770,7 @@

Member Functions

- f3 + f3 @@ -806,12 +782,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function S0::S1::S2::S3::f3

+

Function S0::S1::S2::S3::f3

@@ -837,12 +810,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class S0::S1::S2::S4

+

Class S0::S1::S2::S4

@@ -883,7 +853,7 @@

Member Functions

- f4 + f4 @@ -895,12 +865,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function S0::S1::S2::S4::f4

+

Function S0::S1::S2::S4::f4

@@ -926,12 +893,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class S0::S5

+

Class S0::S5

@@ -972,7 +936,7 @@

Types

- S6 + S6 @@ -996,7 +960,7 @@

Member Functions

- f5 + f5 @@ -1008,12 +972,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function S0::S5::f5

+

Function S0::S5::f5

@@ -1039,12 +1000,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class S0::S5::S6

+

Class S0::S5::S6

@@ -1082,7 +1040,7 @@

Types

- S7 + S7 @@ -1106,7 +1064,7 @@

Member Functions

- f6 + f6 @@ -1118,12 +1076,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function S0::S5::S6::f6

+

Function S0::S5::S6::f6

@@ -1149,12 +1104,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class S0::S5::S6::S7

+

Class S0::S5::S6::S7

@@ -1195,14 +1147,14 @@

Types

- S8 + S8 - S9 + S9 @@ -1226,7 +1178,7 @@

Member Functions

- f7 + f7 @@ -1238,12 +1190,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function S0::S5::S6::S7::f7

+

Function S0::S5::S6::S7::f7

@@ -1269,12 +1218,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class S0::S5::S6::S7::S8

+

Class S0::S5::S6::S7::S8

@@ -1312,7 +1258,7 @@

Member Functions

- f8 + f8 @@ -1324,12 +1270,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function S0::S5::S6::S7::S8::f8

+

Function S0::S5::S6::S7::S8::f8

@@ -1355,12 +1298,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class S0::S5::S6::S7::S9

+

Class S0::S5::S6::S7::S9

@@ -1401,7 +1341,7 @@

Member Functions

- f9 + f9 @@ -1413,12 +1353,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function S0::S5::S6::S7::S9::f9

+

Function S0::S5::S6::S7::S9::f9

@@ -1444,10 +1381,7 @@

Synopsis

- -[#[object Object]] - -
+

Class S0

@@ -1467,7 +1401,7 @@

Synopsis

             template<>
-struct S0<0>;
+struct S0<0>;
         
@@ -1476,10 +1410,7 @@

Synopsis

- -[#[object Object]] - -
+

Class S0

@@ -1499,7 +1430,7 @@

Synopsis

             template
-struct S0<1, T*>;
+struct S0<1, T*>;
         
@@ -1508,10 +1439,7 @@

Synopsis

- -[#[object Object]] - -
+

Class S0

@@ -1531,7 +1459,7 @@

Synopsis

             template<>
-struct S0<1, int*>;
+struct S0<1, int*>;
         
@@ -1540,67 +1468,7 @@

Synopsis

- -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - -
+

Class R0

@@ -1620,7 +1488,7 @@

Synopsis

             struct R0
-    : S0<-1>;
+    : S0<-1>;
         
@@ -1641,14 +1509,14 @@

Types

- S1 + S1 - S5 + S5 @@ -1672,7 +1540,7 @@

Member Functions

- f0 + f0 @@ -1684,10 +1552,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R1

@@ -1707,7 +1572,7 @@

Synopsis

             struct R1
-    : S0<0>;
+    : S0<0>;
         
@@ -1716,10 +1581,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R2

@@ -1739,7 +1601,7 @@

Synopsis

             struct R2
-    : S0<1, void*>;
+    : S0<1, void*>;
         
@@ -1748,10 +1610,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R3

@@ -1771,7 +1630,7 @@

Synopsis

             struct R3
-    : S0<1, int*>;
+    : S0<1, int*>;
         
@@ -1780,10 +1639,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R4

@@ -1803,7 +1659,7 @@

Synopsis

             struct R4
-    : S0<2>::S1;
+    : S0<2>::S1;
         
@@ -1812,10 +1668,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R5

@@ -1835,7 +1688,7 @@

Synopsis

             struct R5
-    : S0<3>::S1::S2<-1>;
+    : S0<3>::S1::S2<-1>;
         
@@ -1844,10 +1697,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R6

@@ -1867,7 +1717,7 @@

Synopsis

             struct R6
-    : S0<4>::S1::S2<5>;
+    : S0<4>::S1::S2<5>;
         
@@ -1876,10 +1726,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R7

@@ -1899,7 +1746,7 @@

Synopsis

             struct R7
-    : S0<6>::S1::S2<7, void*>;
+    : S0<6>::S1::S2<7, void*>;
         
@@ -1908,10 +1755,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R8

@@ -1931,7 +1775,7 @@

Synopsis

             struct R8
-    : S0<6>::S1::S2<7, int*>;
+    : S0<6>::S1::S2<7, int*>;
         
@@ -1940,10 +1784,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R9

@@ -1963,7 +1804,7 @@

Synopsis

             struct R9
-    : S0<8>::S1::S2<9>::S3;
+    : S0<8>::S1::S2<9>::S3;
         
@@ -1972,10 +1813,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R10

@@ -1995,7 +1833,7 @@

Synopsis

             struct R10
-    : S0<10>::S1::S2<11>::S4<-1>;
+    : S0<10>::S1::S2<11>::S4<-1>;
         
@@ -2004,10 +1842,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R11

@@ -2027,7 +1862,7 @@

Synopsis

             struct R11
-    : S0<12>::S1::S2<13>::S4<14>;
+    : S0<12>::S1::S2<13>::S4<14>;
         
@@ -2036,10 +1871,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R12

@@ -2059,7 +1891,7 @@

Synopsis

             struct R12
-    : S0<15>::S1::S2<16>::S4<17, void*>;
+    : S0<15>::S1::S2<16>::S4<17, void*>;
         
@@ -2068,10 +1900,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R13

@@ -2091,7 +1920,7 @@

Synopsis

             struct R13
-    : S0<15>::S1::S2<16>::S4<17, int*>;
+    : S0<15>::S1::S2<16>::S4<17, int*>;
         
@@ -2100,10 +1929,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R14

@@ -2123,7 +1949,7 @@

Synopsis

             struct R14
-    : S0<18>::S5<-1>;
+    : S0<18>::S5<-1>;
         
@@ -2132,10 +1958,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R15

@@ -2155,7 +1978,7 @@

Synopsis

             struct R15
-    : S0<19>::S5<20>;
+    : S0<19>::S5<20>;
         
@@ -2164,10 +1987,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R16

@@ -2187,7 +2007,7 @@

Synopsis

             struct R16
-    : S0<21>::S5<22, void*>;
+    : S0<21>::S5<22, void*>;
         
@@ -2196,10 +2016,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R17

@@ -2219,7 +2036,7 @@

Synopsis

             struct R17
-    : S0<21>::S5<22, int*>;
+    : S0<21>::S5<22, int*>;
         
@@ -2228,10 +2045,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R18

@@ -2251,7 +2065,7 @@

Synopsis

             struct R18
-    : S0<23>::S5<24>::S6;
+    : S0<23>::S5<24>::S6;
         
@@ -2260,10 +2074,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R19

@@ -2283,7 +2094,7 @@

Synopsis

             struct R19
-    : S0<25>::S5<26>::S6::S7<-1>;
+    : S0<25>::S5<26>::S6::S7<-1>;
         
@@ -2292,10 +2103,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R20

@@ -2315,7 +2123,7 @@

Synopsis

             struct R20
-    : S0<27>::S5<28>::S6::S7<29, void*>;
+    : S0<27>::S5<28>::S6::S7<29, void*>;
         
@@ -2324,10 +2132,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R21

@@ -2347,7 +2152,7 @@

Synopsis

             struct R21
-    : S0<27>::S5<28>::S6::S7<29, int*>;
+    : S0<27>::S5<28>::S6::S7<29, int*>;
         
@@ -2356,10 +2161,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R22

@@ -2379,7 +2181,7 @@

Synopsis

             struct R22
-    : S0<30>::S5<31>::S6::S7<32>;
+    : S0<30>::S5<31>::S6::S7<32>;
         
@@ -2388,10 +2190,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R23

@@ -2411,7 +2210,7 @@

Synopsis

             struct R23
-    : S0<33>::S5<34>::S6::S7<35>::S8;
+    : S0<33>::S5<34>::S6::S7<35>::S8;
         
@@ -2420,10 +2219,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R24

@@ -2443,7 +2239,7 @@

Synopsis

             struct R24
-    : S0<36>::S5<37>::S6::S7<38>::S9<-1>;
+    : S0<36>::S5<37>::S6::S7<38>::S9<-1>;
         
@@ -2452,10 +2248,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R25

@@ -2475,7 +2268,7 @@

Synopsis

             struct R25
-    : S0<39>::S5<40>::S6::S7<41>::S9<42, void*>;
+    : S0<39>::S5<40>::S6::S7<41>::S9<42, void*>;
         
@@ -2484,10 +2277,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R26

@@ -2507,7 +2297,7 @@

Synopsis

             struct R26
-    : S0<39>::S5<40>::S6::S7<41>::S9<42, int*>;
+    : S0<39>::S5<40>::S6::S7<41>::S9<42, int*>;
         
@@ -2516,10 +2306,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R27

@@ -2539,7 +2326,7 @@

Synopsis

             struct R27
-    : S0<43>::S5<44>::S6::S7<45>::S9<46>;
+    : S0<43>::S5<44>::S6::S7<45>::S9<46>;
         
@@ -2548,10 +2335,7 @@

Synopsis

- -[#[object Object]] - -
+

Class R28

@@ -2571,7 +2355,7 @@

Synopsis

             struct R28
-    : S0<0, bool>;
+    : S0<0, bool>;
         
@@ -2592,14 +2376,14 @@

Types

- S1 + S1 - S5 + S5 @@ -2623,7 +2407,7 @@

Member Functions

- f0 + f0 @@ -2635,10 +2419,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R29

@@ -2658,7 +2439,7 @@

Synopsis

             struct R29
-    : S0<1, int>;
+    : S0<1, int>;
         
@@ -2679,14 +2460,14 @@

Types

- S1 + S1 - S5 + S5 @@ -2710,7 +2491,7 @@

Member Functions

- f0 + f0 @@ -2722,10 +2503,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R30

@@ -2745,7 +2523,7 @@

Synopsis

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

Types

- S2 + S2 @@ -2790,7 +2568,7 @@

Member Functions

- f1 + f1 @@ -2802,10 +2580,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R31

@@ -2828,7 +2603,7 @@

Synopsis

int I, typename T> struct R31 - : S0<3, bool>::S1::S2; + : S0<3, bool>::S1::S2;
@@ -2849,14 +2624,14 @@

Types

- S3 + S3 - S4 + S4 @@ -2880,7 +2655,7 @@

Member Functions

- f2 + f2 @@ -2892,10 +2667,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R32

@@ -2915,7 +2687,7 @@

Synopsis

             struct R32
-    : S0<4, bool>::S1::S2<5, bool>;
+    : S0<4, bool>::S1::S2<5, bool>;
         
@@ -2936,14 +2708,14 @@

Types

- S3 + S3 - S4 + S4 @@ -2967,7 +2739,7 @@

Member Functions

- f2 + f2 @@ -2979,10 +2751,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R33

@@ -3002,7 +2771,7 @@

Synopsis

             struct R33
-    : S0<6, bool>::S1::S2<7, int>;
+    : S0<6, bool>::S1::S2<7, int>;
         
@@ -3023,14 +2792,14 @@

Types

- S3 + S3 - S4 + S4 @@ -3054,7 +2823,7 @@

Member Functions

- f2 + f2 @@ -3066,10 +2835,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R34

@@ -3089,7 +2855,7 @@

Synopsis

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

Member Functions

- f3 + f3 @@ -3122,10 +2888,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R35

@@ -3148,7 +2911,7 @@

Synopsis

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

Member Functions

- f4 + f4 @@ -3181,10 +2944,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R36

@@ -3204,7 +2964,7 @@

Synopsis

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

Member Functions

- f4 + f4 @@ -3237,10 +2997,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R37

@@ -3260,7 +3017,7 @@

Synopsis

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

Member Functions

- f4 + f4 @@ -3293,10 +3050,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R38

@@ -3319,7 +3073,7 @@

Synopsis

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

Types

- S6 + S6 @@ -3364,7 +3118,7 @@

Member Functions

- f5 + f5 @@ -3376,10 +3130,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R39

@@ -3399,7 +3150,7 @@

Synopsis

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

Types

- S6 + S6 @@ -3444,7 +3195,7 @@

Member Functions

- f5 + f5 @@ -3456,10 +3207,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R40

@@ -3479,7 +3227,7 @@

Synopsis

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

Types

- S6 + S6 @@ -3524,7 +3272,7 @@

Member Functions

- f5 + f5 @@ -3536,10 +3284,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R41

@@ -3559,7 +3304,7 @@

Synopsis

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

Types

- S7 + S7 @@ -3604,7 +3349,7 @@

Member Functions

- f6 + f6 @@ -3616,10 +3361,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R42

@@ -3642,7 +3384,7 @@

Synopsis

int I, typename T> struct R42 - : S0<25, bool>::S5<26, bool>::S6::S7; + : S0<25, bool>::S5<26, bool>::S6::S7;
@@ -3663,14 +3405,14 @@

Types

- S8 + S8 - S9 + S9 @@ -3694,7 +3436,7 @@

Member Functions

- f7 + f7 @@ -3706,10 +3448,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R43

@@ -3729,7 +3468,7 @@

Synopsis

             struct R43
-    : S0<27, bool>::S5<28, bool>::S6::S7<29, int>;
+    : S0<27, bool>::S5<28, bool>::S6::S7<29, int>;
         
@@ -3750,14 +3489,14 @@

Types

- S8 + S8 - S9 + S9 @@ -3781,7 +3520,7 @@

Member Functions

- f7 + f7 @@ -3793,10 +3532,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R44

@@ -3816,7 +3552,7 @@

Synopsis

             struct R44
-    : S0<30, bool>::S5<31, bool>::S6::S7<32, bool>;
+    : S0<30, bool>::S5<31, bool>::S6::S7<32, bool>;
         
@@ -3837,14 +3573,14 @@

Types

- S8 + S8 - S9 + S9 @@ -3868,7 +3604,7 @@

Member Functions

- f7 + f7 @@ -3880,10 +3616,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R45

@@ -3903,7 +3636,7 @@

Synopsis

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

Member Functions

- f8 + f8 @@ -3936,10 +3669,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R46

@@ -3962,7 +3692,7 @@

Synopsis

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

Member Functions

- f9 + f9 @@ -3995,10 +3725,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R47

@@ -4018,7 +3745,7 @@

Synopsis

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

Member Functions

- f9 + f9 @@ -4051,10 +3778,7 @@

Member Functions

- -[#[object Object]] - -
+

Class R48

@@ -4074,7 +3798,7 @@

Synopsis

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

Member Functions

- f9 + f9 diff --git a/test-files/golden-tests/class-template-specializations-2.html b/test-files/golden-tests/class-template-specializations-2.html index 8e692a3414..3760fa0b61 100644 --- a/test-files/golden-tests/class-template-specializations-2.html +++ b/test-files/golden-tests/class-template-specializations-2.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,21 +24,21 @@

Types

- A + A - A + A - A + A @@ -51,10 +48,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -83,10 +77,7 @@

Synopsis

- -[#[object Object]] - -
+

Class A

@@ -106,7 +97,7 @@

Synopsis

             template
-struct A;
+struct A;
         
@@ -127,21 +118,21 @@

Types

- B + B - B + B - B + B @@ -153,12 +144,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -185,12 +173,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -208,7 +193,7 @@

Synopsis

             template
-struct B;
+struct B;
         
@@ -229,7 +214,7 @@

Types

- C + C @@ -241,12 +226,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::B::C

+

Class A::B::C

@@ -272,12 +254,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -295,7 +274,7 @@

Synopsis

             template<>
-struct B;
+struct B;
         
@@ -304,10 +283,7 @@

Synopsis

- -[#[object Object]] - -
+

Class A

@@ -327,7 +303,7 @@

Synopsis

             template<>
-struct A;
+struct A;
         
@@ -348,14 +324,14 @@

Types

- D + D - D + D @@ -367,12 +343,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::D

+

Class A::D

@@ -411,14 +384,14 @@

Types

- E + E - E + E @@ -430,12 +403,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::D::E

+

Class A::D::E

@@ -462,12 +432,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::D::E

+

Class A::D::E

@@ -485,7 +452,7 @@

Synopsis

             template
-struct E;
+struct E;
         
@@ -506,7 +473,7 @@

Types

- F + F @@ -518,12 +485,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::D::E::F

+

Class A::D::E::F

@@ -549,12 +513,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::D

+

Class A::D

@@ -572,7 +533,7 @@

Synopsis

             template<>
-struct D;
+struct D;
         
@@ -593,14 +554,14 @@

Types

- G + G - G + G @@ -612,12 +573,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::D::G

+

Class A::D::G

@@ -644,12 +602,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::D::G

+

Class A::D::G

@@ -667,7 +622,7 @@

Synopsis

             template
-struct G;
+struct G;
         
@@ -676,12 +631,6 @@

Synopsis

- -[#[object Object]] - - -[#[object Object]] -

Created with MrDocs

diff --git a/test-files/golden-tests/class-template-specializations-3.html b/test-files/golden-tests/class-template-specializations-3.html index 6babede674..9d70f7fb42 100644 --- a/test-files/golden-tests/class-template-specializations-3.html +++ b/test-files/golden-tests/class-template-specializations-3.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Types

- A + A - E + E @@ -44,10 +41,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -88,14 +82,14 @@

Types

- B + B - B + B @@ -107,12 +101,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -151,21 +142,21 @@

Types

- C + C - D + D - D + D @@ -177,12 +168,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::B::C

+

Class A::B::C

@@ -208,12 +196,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::B::D

+

Class A::B::D

@@ -240,12 +225,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::B::D

+

Class A::B::D

@@ -263,7 +245,7 @@

Synopsis

             template<>
-struct D;
+struct D;
         
@@ -272,12 +254,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -295,7 +274,7 @@

Synopsis

             template<>
-struct B;
+struct B;
         
@@ -316,21 +295,21 @@

Types

- C + C - D + D - D + D @@ -342,12 +321,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::B::C

+

Class A::B::C

@@ -373,12 +349,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::B::D

+

Class A::B::D

@@ -405,12 +378,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::B::D

+

Class A::B::D

@@ -428,7 +398,7 @@

Synopsis

             template<>
-struct D;
+struct D;
         
@@ -437,16 +407,7 @@

Synopsis

- -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - -
+

Class E

@@ -486,105 +447,105 @@

Data Members

- m0 + m0 - m1 + m1 - m10 + m10 - m11 + m11 - m12 + m12 - m13 + m13 - m14 + m14 - m2 + m2 - m3 + m3 - m4 + m4 - m5 + m5 - m6 + m6 - m7 + m7 - m8 + m8 - m9 + m9 @@ -596,12 +557,9 @@

Data Members

- -[#[object Object]] - -
+
-

E::m0

+

E::m0

@@ -618,17 +576,14 @@

Synopsis

-            A::B m0;
+            A::B m0;
         
- -[#[object Object]] - -
+
-

E::m1

+

E::m1

@@ -645,17 +600,14 @@

Synopsis

-            A::B m1;
+            A::B m1;
         
- -[#[object Object]] - -
+
-

E::m2

+

E::m2

@@ -672,17 +624,14 @@

Synopsis

-            A::B m2;
+            A::B m2;
         
- -[#[object Object]] - -
+
-

E::m3

+

E::m3

@@ -699,17 +648,14 @@

Synopsis

-            A::B m3;
+            A::B m3;
         
- -[#[object Object]] - -
+
-

E::m4

+

E::m4

@@ -726,17 +672,14 @@

Synopsis

-            A::B m4;
+            A::B m4;
         
- -[#[object Object]] - -
+
-

E::m5

+

E::m5

@@ -753,17 +696,14 @@

Synopsis

-            A::B::C m5;
+            A::B::C m5;
         
- -[#[object Object]] - -
+
-

E::m6

+

E::m6

@@ -780,17 +720,14 @@

Synopsis

-            A::B::C m6;
+            A::B::C m6;
         
- -[#[object Object]] - -
+
-

E::m7

+

E::m7

@@ -807,17 +744,14 @@

Synopsis

-            A::B::C m7;
+            A::B::C m7;
         
- -[#[object Object]] - -
+
-

E::m8

+

E::m8

@@ -834,17 +768,14 @@

Synopsis

-            A::B::C m8;
+            A::B::C m8;
         
- -[#[object Object]] - -
+
-

E::m9

+

E::m9

@@ -861,17 +792,14 @@

Synopsis

-            A::B::C m9;
+            A::B::C m9;
         
- -[#[object Object]] - -
+
-

E::m10

+

E::m10

@@ -888,17 +816,14 @@

Synopsis

-            A::B::D m10;
+            A::B::D m10;
         
- -[#[object Object]] - -
+
-

E::m11

+

E::m11

@@ -915,17 +840,14 @@

Synopsis

-            A::B::D m11;
+            A::B::D m11;
         
- -[#[object Object]] - -
+
-

E::m12

+

E::m12

@@ -942,17 +864,14 @@

Synopsis

-            A::B::D m12;
+            A::B::D m12;
         
- -[#[object Object]] - -
+
-

E::m13

+

E::m13

@@ -969,17 +888,14 @@

Synopsis

-            A::B::D m13;
+            A::B::D m13;
         
- -[#[object Object]] - -
+
-

E::m14

+

E::m14

@@ -996,7 +912,7 @@

Synopsis

-            A::B::D m14;
+            A::B::D m14;
         
diff --git a/test-files/golden-tests/class-template.html b/test-files/golden-tests/class-template.html index b9c8a3b6d8..88bcbc64d3 100644 --- a/test-files/golden-tests/class-template.html +++ b/test-files/golden-tests/class-template.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,35 +24,35 @@

Types

- C0 + C0 - C1 + C1 - C2 + C2 - C3 + C3 - S + S @@ -65,10 +62,7 @@

Types

- -[#[object Object]] - -
+

Class S

@@ -96,10 +90,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C0

@@ -140,7 +131,7 @@

Types

- N0 + N0 @@ -164,21 +155,21 @@

Data Members

- w + w - x + x - y + y @@ -190,12 +181,9 @@

Data Members

- -[#[object Object]] - -
+
-

C0::w

+

C0::w

@@ -217,12 +205,9 @@

Synopsis

- -[#[object Object]] - -
+
-

C0::x

+

C0::x

@@ -239,17 +224,14 @@

Synopsis

-            S x;
+            S x;
         
- -[#[object Object]] - -
+
-

C0::y

+

C0::y

@@ -271,12 +253,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class C0::N0

+

Class C0::N0

@@ -314,7 +293,7 @@

Data Members

- z + z @@ -326,12 +305,9 @@

Data Members

- -[#[object Object]] - -
+
-

C0::N0::z

+

C0::N0::z

@@ -353,10 +329,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C1

@@ -396,7 +369,7 @@

Types

- N1 + N1 @@ -420,7 +393,7 @@

Data Members

- w + w @@ -432,12 +405,9 @@

Data Members

- -[#[object Object]] - -
+
-

C1::w

+

C1::w

@@ -459,12 +429,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class C1::N1

+

Class C1::N1

@@ -503,21 +470,21 @@

Data Members

- x + x - y + y - z + z @@ -529,12 +496,9 @@

Data Members

- -[#[object Object]] - -
+
-

C1::N1::x

+

C1::N1::x

@@ -551,17 +515,14 @@

Synopsis

-            S x;
+            S x;
         
- -[#[object Object]] - -
+
-

C1::N1::y

+

C1::N1::y

@@ -583,12 +544,9 @@

Synopsis

- -[#[object Object]] - -
+
-

C1::N1::z

+

C1::N1::z

@@ -610,10 +568,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C2

@@ -654,7 +609,7 @@

Types

- N2 + N2 @@ -678,7 +633,7 @@

Data Members

- v + v @@ -690,12 +645,9 @@

Data Members

- -[#[object Object]] - -
+
-

C2::v

+

C2::v

@@ -717,12 +669,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class C2::N2

+

Class C2::N2

@@ -761,28 +710,28 @@

Data Members

- w + w - x + x - y + y - z + z @@ -794,12 +743,9 @@

Data Members

- -[#[object Object]] - -
+
-

C2::N2::w

+

C2::N2::w

@@ -816,17 +762,14 @@

Synopsis

-            S w;
+            S w;
         
- -[#[object Object]] - -
+
-

C2::N2::x

+

C2::N2::x

@@ -848,12 +791,9 @@

Synopsis

- -[#[object Object]] - -
+
-

C2::N2::y

+

C2::N2::y

@@ -875,12 +815,9 @@

Synopsis

- -[#[object Object]] - -
+
-

C2::N2::z

+

C2::N2::z

@@ -902,10 +839,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C3

@@ -946,7 +880,7 @@

Data Members

- v + v @@ -958,12 +892,9 @@

Data Members

- -[#[object Object]] - -
+
-

C3::v

+

C3::v

diff --git a/test-files/golden-tests/commands.html b/test-files/golden-tests/commands.html index a8cc360682..f1be897624 100644 --- a/test-files/golden-tests/commands.html +++ b/test-files/golden-tests/commands.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Functions

- f1 + f1

brief

@@ -39,10 +36,7 @@

Functions

- -[#[object Object]] - -
+

Function f1

brief

diff --git a/test-files/golden-tests/concept.html b/test-files/golden-tests/concept.html index bf5bd1814d..c2a84cdc75 100644 --- a/test-files/golden-tests/concept.html +++ b/test-files/golden-tests/concept.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Functions

- f + f @@ -51,7 +48,7 @@

Variables

- x + x @@ -75,7 +72,7 @@

Concepts

- C + C @@ -85,10 +82,7 @@

Concepts

- -[#[object Object]] - -
+

C

@@ -111,10 +105,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f

@@ -133,7 +124,7 @@

Synopsis

-            template
+            template<C T>
 void
 f();
         
@@ -143,10 +134,7 @@

Synopsis

- -[#[object Object]] - -
+

x

@@ -165,7 +153,7 @@

Synopsis

-            C auto x = 0;
+            C auto x = 0;
         
diff --git a/test-files/golden-tests/dependency-propagation.html b/test-files/golden-tests/dependency-propagation.html index c442e573fb..693adaaff2 100644 --- a/test-files/golden-tests/dependency-propagation.html +++ b/test-files/golden-tests/dependency-propagation.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Namespaces

- N + N @@ -51,7 +48,7 @@

Types

- E + E @@ -61,10 +58,7 @@

Types

- -[#[object Object]] - -
+

Class E

@@ -84,7 +78,7 @@

Synopsis

             struct E
-    : N::C;
+    : N::C;
         
@@ -93,10 +87,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace N

@@ -117,21 +108,21 @@

Types

- A + A - B + B - C + C @@ -141,10 +132,7 @@

Types

- -[#[object Object]] - -
+

C

@@ -164,15 +152,12 @@

Synopsis

             template
-using C = B;
+using C = B;
         
- -[#[object Object]] - -
+

B

@@ -192,15 +177,12 @@

Synopsis

             template
-using B = A;
+using B = A;
         
- -[#[object Object]] - -
+

Class A

diff --git a/test-files/golden-tests/duplicate-jdoc.html b/test-files/golden-tests/duplicate-jdoc.html index a8f26f6e95..7516e7d0c6 100644 --- a/test-files/golden-tests/duplicate-jdoc.html +++ b/test-files/golden-tests/duplicate-jdoc.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Functions

- f0 + f0

f0 brief

@@ -36,7 +33,7 @@

Functions

- f1 + f1

f1 brief

@@ -45,7 +42,7 @@

Functions

- g0 + g0

g0 brief

@@ -54,7 +51,7 @@

Functions

- g1 + g1

g1 brief

@@ -63,7 +60,7 @@

Functions

- h0 + h0

h0 brief

@@ -72,7 +69,7 @@

Functions

- h1 + h1

h1 brief

@@ -84,10 +81,7 @@

Functions

- -[#[object Object]] - -
+

Function f0

f0 brief

@@ -117,10 +111,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f1

f1 brief

@@ -150,10 +141,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g0

g0 brief

@@ -182,11 +170,29 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
NameDescription
a
a
+
- -[#[object Object]] - -
+

Function g1

g1 brief

@@ -215,11 +221,29 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
NameDescription
a
b
+
- -[#[object Object]] - -
+

Function h0

h0 brief

@@ -250,10 +274,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h1

h1 brief

diff --git a/test-files/golden-tests/empty.html b/test-files/golden-tests/empty.html index a71296e6fb..4120ebf307 100644 --- a/test-files/golden-tests/empty.html +++ b/test-files/golden-tests/empty.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

diff --git a/test-files/golden-tests/enum.html b/test-files/golden-tests/enum.html index 0cef334b76..077739e70c 100644 --- a/test-files/golden-tests/enum.html +++ b/test-files/golden-tests/enum.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Enums

- E0 + E0

E0 brief.

@@ -36,14 +33,14 @@

Enums

- E1 + E1 - E2 + E2

E2 brief.

@@ -52,7 +49,7 @@

Enums

- E3 + E3 @@ -62,10 +59,7 @@

Enums

- -[#[object Object]] - -
+

Enum E0

E0 brief.

@@ -101,13 +95,13 @@

Members

- e0 + e0

e0 brief.

- e1 + e1

e1 brief.

@@ -123,12 +117,9 @@

Description

- -[#[object Object]] - -
+
-

Enumerator E0::e0

+

Enumerator E0::e0

e0 brief.

@@ -157,12 +148,9 @@

Description

- -[#[object Object]] - -
+
-

Enumerator E0::e1

+

Enumerator E0::e1

e1 brief.

@@ -191,10 +179,7 @@

Description

- -[#[object Object]] - -
+

Enum E1

@@ -228,11 +213,11 @@

Members

- e2 + e2 - e3 + e3 @@ -240,12 +225,9 @@

Members

- -[#[object Object]] - -
+
-

Enumerator E1::e2

+

Enumerator E1::e2

@@ -266,12 +248,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Enumerator E1::e3

+

Enumerator E1::e3

@@ -292,10 +271,7 @@

Synopsis

- -[#[object Object]] - -
+

Enum E2

E2 brief.

@@ -331,13 +307,13 @@

Members

- e4 + e4

e4 brief.

- e5 + e5

e5 brief.

@@ -353,12 +329,9 @@

Description

- -[#[object Object]] - -
+
-

Enumerator E2::e4

+

Enumerator E2::e4

e4 brief.

@@ -387,12 +360,9 @@

Description

- -[#[object Object]] - -
+
-

Enumerator E2::e5

+

Enumerator E2::e5

e5 brief.

@@ -421,10 +391,7 @@

Description

- -[#[object Object]] - -
+

Enum E3

@@ -458,11 +425,11 @@

Members

- e6 + e6 - e7 + e7 @@ -470,12 +437,9 @@

Members

- -[#[object Object]] - -
+
-

Enumerator E3::e6

+

Enumerator E3::e6

@@ -496,12 +460,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Enumerator E3::e7

+

Enumerator E3::e7

diff --git a/test-files/golden-tests/explicit-conv-operator.html b/test-files/golden-tests/explicit-conv-operator.html index a95fe1d901..be7582b2ee 100644 --- a/test-files/golden-tests/explicit-conv-operator.html +++ b/test-files/golden-tests/explicit-conv-operator.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,28 +24,28 @@

Types

- Explicit + Explicit - ExplicitExpression + ExplicitExpression - ExplicitFalse + ExplicitFalse - ExplicitTrue + ExplicitTrue @@ -58,10 +55,7 @@

Types

- -[#[object Object]] - -
+

Class Explicit

@@ -101,7 +95,7 @@

Member Functions

- operator bool + operator bool @@ -113,12 +107,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function Explicit::operator bool

+

Function Explicit::operator bool

@@ -143,10 +134,7 @@

Synopsis

- -[#[object Object]] - -
+

Class ExplicitFalse

@@ -186,7 +174,7 @@

Member Functions

- operator bool + operator bool @@ -198,12 +186,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function ExplicitFalse::operator bool

+

Function ExplicitFalse::operator bool

@@ -228,10 +213,7 @@

Synopsis

- -[#[object Object]] - -
+

Class ExplicitTrue

@@ -271,7 +253,7 @@

Member Functions

- operator bool + operator bool @@ -283,12 +265,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function ExplicitTrue::operator bool

+

Function ExplicitTrue::operator bool

@@ -313,10 +292,7 @@

Synopsis

- -[#[object Object]] - -
+

Class ExplicitExpression

@@ -357,7 +333,7 @@

Member Functions

- operator bool + operator bool @@ -369,12 +345,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function ExplicitExpression::operator bool

+

Function ExplicitExpression::operator bool

diff --git a/test-files/golden-tests/explicit-ctor.html b/test-files/golden-tests/explicit-ctor.html index b531b4960b..a6faba9b2b 100644 --- a/test-files/golden-tests/explicit-ctor.html +++ b/test-files/golden-tests/explicit-ctor.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,28 +24,28 @@

Types

- Explicit + Explicit - ExplicitExpression + ExplicitExpression - ExplicitFalse + ExplicitFalse - ExplicitTrue + ExplicitTrue @@ -58,10 +55,7 @@

Types

- -[#[object Object]] - -
+

Class Explicit

@@ -101,7 +95,7 @@

Member Functions

- Explicit [constructor] + Explicit [constructor] @@ -113,9 +107,9 @@

Member Functions

-
+
-

Overload set Explicit::Explicit

+

Overload set Explicit::Explicit

Members

@@ -123,19 +117,19 @@

Members

Explicit();
-» more... +» more...

-
Explicit(Explicit const&);
-» more... +
Explicit(Explicit const&);
+» more...

-
Explicit(Explicit&&) noexcept;
-» more... +
Explicit(Explicit&&) noexcept;
+» more...

@@ -143,16 +137,13 @@

Members

Explicit(
     int,
     int);
-» more... +» more...
- -[#[object Object]] - -
+
-

Function Explicit::Explicit

+

Function Explicit::Explicit

@@ -177,12 +168,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function Explicit::Explicit

+

Function Explicit::Explicit

@@ -199,7 +187,7 @@

Synopsis

-            Explicit(Explicit const&);
+            Explicit(Explicit const&);
         
@@ -207,12 +195,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function Explicit::Explicit

+

Function Explicit::Explicit

@@ -229,7 +214,7 @@

Synopsis

-            Explicit(Explicit&&) noexcept;
+            Explicit(Explicit&&) noexcept;
         
@@ -237,12 +222,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function Explicit::Explicit

+

Function Explicit::Explicit

@@ -269,10 +251,7 @@

Synopsis

- -[#[object Object]] - -
+

Class ExplicitTrue

@@ -312,7 +291,7 @@

Member Functions

- ExplicitTrue [constructor] + ExplicitTrue [constructor] @@ -324,9 +303,9 @@

Member Functions

-
+
-

Overload set ExplicitTrue::ExplicitTrue

+

Overload set ExplicitTrue::ExplicitTrue

Members

@@ -334,19 +313,19 @@

Members

ExplicitTrue();
-» more... +» more...

-
ExplicitTrue(ExplicitTrue const&);
-» more... +
ExplicitTrue(ExplicitTrue const&);
+» more...

-
ExplicitTrue(ExplicitTrue&&) noexcept;
-» more... +
ExplicitTrue(ExplicitTrue&&) noexcept;
+» more...

@@ -354,16 +333,13 @@

Members

ExplicitTrue(
     int,
     int);
-» more... +» more...
- -[#[object Object]] - -
+
-

Function ExplicitTrue::ExplicitTrue

+

Function ExplicitTrue::ExplicitTrue

@@ -388,12 +364,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function ExplicitTrue::ExplicitTrue

+

Function ExplicitTrue::ExplicitTrue

@@ -410,7 +383,7 @@

Synopsis

-            ExplicitTrue(ExplicitTrue const&);
+            ExplicitTrue(ExplicitTrue const&);
         
@@ -418,12 +391,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function ExplicitTrue::ExplicitTrue

+

Function ExplicitTrue::ExplicitTrue

@@ -440,7 +410,7 @@

Synopsis

-            ExplicitTrue(ExplicitTrue&&) noexcept;
+            ExplicitTrue(ExplicitTrue&&) noexcept;
         
@@ -448,12 +418,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function ExplicitTrue::ExplicitTrue

+

Function ExplicitTrue::ExplicitTrue

@@ -480,10 +447,7 @@

Synopsis

- -[#[object Object]] - -
+

Class ExplicitFalse

@@ -523,7 +487,7 @@

Member Functions

- ExplicitFalse [constructor] + ExplicitFalse [constructor] @@ -535,9 +499,9 @@

Member Functions

-
+
-

Overload set ExplicitFalse::ExplicitFalse

+

Overload set ExplicitFalse::ExplicitFalse

Members

@@ -545,19 +509,19 @@

Members

ExplicitFalse();
-» more... +» more...

-
ExplicitFalse(ExplicitFalse const&);
-» more... +
ExplicitFalse(ExplicitFalse const&);
+» more...

-
ExplicitFalse(ExplicitFalse&&) noexcept;
-» more... +
ExplicitFalse(ExplicitFalse&&) noexcept;
+» more...

@@ -565,16 +529,13 @@

Members

ExplicitFalse(
     int,
     int);
-» more... +» more...
- -[#[object Object]] - -
+
-

Function ExplicitFalse::ExplicitFalse

+

Function ExplicitFalse::ExplicitFalse

@@ -599,12 +560,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function ExplicitFalse::ExplicitFalse

+

Function ExplicitFalse::ExplicitFalse

@@ -621,7 +579,7 @@

Synopsis

-            ExplicitFalse(ExplicitFalse const&);
+            ExplicitFalse(ExplicitFalse const&);
         
@@ -629,12 +587,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function ExplicitFalse::ExplicitFalse

+

Function ExplicitFalse::ExplicitFalse

@@ -651,7 +606,7 @@

Synopsis

-            ExplicitFalse(ExplicitFalse&&) noexcept;
+            ExplicitFalse(ExplicitFalse&&) noexcept;
         
@@ -659,12 +614,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function ExplicitFalse::ExplicitFalse

+

Function ExplicitFalse::ExplicitFalse

@@ -691,10 +643,7 @@

Synopsis

- -[#[object Object]] - -
+

Class ExplicitExpression

@@ -735,7 +684,7 @@

Member Functions

- ExplicitExpression [constructor] + ExplicitExpression [constructor] @@ -747,9 +696,9 @@

Member Functions

-
+
-

Overload set ExplicitExpression::ExplicitExpression

+

Overload set ExplicitExpression::ExplicitExpression

Members

@@ -757,19 +706,19 @@

Members

ExplicitExpression();
-» more... +» more...

-
ExplicitExpression(ExplicitExpression const&);
-» more... +
ExplicitExpression(ExplicitExpression const&);
+» more...

-
ExplicitExpression(ExplicitExpression&&) noexcept;
-» more... +
ExplicitExpression(ExplicitExpression&&) noexcept;
+» more...

@@ -777,16 +726,13 @@

Members

ExplicitExpression(
     int,
     int);
-» more... +» more...
- -[#[object Object]] - -
+
-

Function ExplicitExpression::ExplicitExpression

+

Function ExplicitExpression::ExplicitExpression

@@ -811,12 +757,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function ExplicitExpression::ExplicitExpression

+

Function ExplicitExpression::ExplicitExpression

@@ -833,7 +776,7 @@

Synopsis

-            ExplicitExpression(ExplicitExpression const&);
+            ExplicitExpression(ExplicitExpression const&);
         
@@ -841,12 +784,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function ExplicitExpression::ExplicitExpression

+

Function ExplicitExpression::ExplicitExpression

@@ -863,7 +803,7 @@

Synopsis

-            ExplicitExpression(ExplicitExpression&&) noexcept;
+            ExplicitExpression(ExplicitExpression&&) noexcept;
         
@@ -871,12 +811,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function ExplicitExpression::ExplicitExpression

+

Function ExplicitExpression::ExplicitExpression

diff --git a/test-files/golden-tests/explicit-deduct-guide.html b/test-files/golden-tests/explicit-deduct-guide.html index 7288c6baa1..d88433c5fa 100644 --- a/test-files/golden-tests/explicit-deduct-guide.html +++ b/test-files/golden-tests/explicit-deduct-guide.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- X + X @@ -51,28 +48,28 @@

Deduction Guides

- X<0> + X<0> - X<0> + X<0> - X<0> + X<0> - X<0> + X<0> @@ -82,10 +79,7 @@

Deduction Guides

- -[#[object Object]] - -
+

Class X

@@ -114,10 +108,7 @@

Synopsis

- -[#[object Object]] - -
+

Deduction guide X

@@ -136,15 +127,12 @@

Synopsis

-            X<0>(bool) -> X<0>;
+            X<0>(bool) -> X<0>;
         
- -[#[object Object]] - -
+

Deduction guide X

@@ -163,15 +151,12 @@

Synopsis

-            X<0>(char) -> X<0>;
+            X<0>(char) -> X<0>;
         
- -[#[object Object]] - -
+

Deduction guide X

@@ -190,15 +175,12 @@

Synopsis

-            X<0>(int) -> X<0>;
+            X<0>(int) -> X<0>;
         
- -[#[object Object]] - -
+

Deduction guide X

@@ -218,7 +200,7 @@

Synopsis

             template
-X<0>(long) -> X<0>;
+X<0>(long) -> X<0>;
         
diff --git a/test-files/golden-tests/explicit-object-parameter.html b/test-files/golden-tests/explicit-object-parameter.html index 65a8dd0fa5..d0a5a0fec3 100644 --- a/test-files/golden-tests/explicit-object-parameter.html +++ b/test-files/golden-tests/explicit-object-parameter.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- Optional + Optional @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class Optional

@@ -80,7 +74,7 @@

Member Functions

- value + value @@ -92,9 +86,9 @@

Member Functions

-
+
-

Overload set Optional::value

+

Overload set Optional::value

Members

@@ -105,7 +99,7 @@

Members

constexpr auto&& value(this Self&& self); -» more... +» more...

@@ -116,16 +110,13 @@

Members

value(this Self&& self, int x); -» more... +» more...
- -[#[object Object]] - -
+
-

Function Optional::value

+

Function Optional::value

@@ -153,12 +144,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function Optional::value

+

Function Optional::value

diff --git a/test-files/golden-tests/filters/blacklist_0.html b/test-files/golden-tests/filters/blacklist_0.html index 1db1954032..723108bb26 100644 --- a/test-files/golden-tests/filters/blacklist_0.html +++ b/test-files/golden-tests/filters/blacklist_0.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,28 +24,28 @@

Namespaces

- N0 + N0 - N3 + N3 - N4 + N4 - N7 + N7 @@ -58,10 +55,7 @@

Namespaces

- -[#[object Object]] - -
+

Namespace N0

@@ -82,7 +76,7 @@

Functions

- f0 + f0 @@ -92,10 +86,7 @@

Functions

- -[#[object Object]] - -
+

Function f0

@@ -123,20 +114,14 @@

Synopsis

- -[#[object Object]] - -
+

Namespace N3

- -[#[object Object]] - -
+

Namespace N4

@@ -157,14 +142,14 @@

Namespaces

- N5 + N5 - N6 + N6 @@ -174,10 +159,7 @@

Namespaces

- -[#[object Object]] - -
+

Namespace N5

@@ -198,7 +180,7 @@

Functions

- f1 + f1 @@ -208,10 +190,7 @@

Functions

- -[#[object Object]] - -
+

Function f1

@@ -239,10 +218,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace N6

@@ -263,7 +239,7 @@

Functions

- f1 + f1 @@ -273,10 +249,7 @@

Functions

- -[#[object Object]] - -
+

Function f1

@@ -304,10 +277,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace N7

@@ -328,14 +298,14 @@

Namespaces

- N8 + N8 - N9 + N9 @@ -345,20 +315,14 @@

Namespaces

- -[#[object Object]] - -
+

Namespace N8

- -[#[object Object]] - -
+

Namespace N9

@@ -379,7 +343,7 @@

Functions

- g0 + g0 @@ -389,10 +353,7 @@

Functions

- -[#[object Object]] - -
+

Function g0

diff --git a/test-files/golden-tests/filters/blacklist_test.html b/test-files/golden-tests/filters/blacklist_test.html index 528755daf0..09e25576be 100644 --- a/test-files/golden-tests/filters/blacklist_test.html +++ b/test-files/golden-tests/filters/blacklist_test.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Namespaces

- blacklisted + blacklisted - to_be_documented + to_be_documented @@ -44,10 +41,7 @@

Namespaces

- -[#[object Object]] - -
+

Namespace to_be_documented

@@ -68,7 +62,7 @@

Functions

- documented_function + documented_function @@ -78,10 +72,7 @@

Functions

- -[#[object Object]] - -
+

Function documented_function

@@ -109,10 +100,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace blacklisted

diff --git a/test-files/golden-tests/filters/filters.html b/test-files/golden-tests/filters/filters.html index d80abf098f..06c37cf6fd 100644 --- a/test-files/golden-tests/filters/filters.html +++ b/test-files/golden-tests/filters/filters.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,35 +24,35 @@

Namespaces

- A + A - B + B - C + C - D + D - F + F @@ -65,10 +62,7 @@

Namespaces

- -[#[object Object]] - -
+

Namespace A

@@ -89,14 +83,14 @@

Namespaces

- detail + detail - detair + detair @@ -120,7 +114,7 @@

Functions

- f0 + f0 @@ -130,10 +124,7 @@

Functions

- -[#[object Object]] - -
+

Function f0

@@ -161,10 +152,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace detail

@@ -185,7 +173,7 @@

Functions

- g0 + g0 @@ -195,10 +183,7 @@

Functions

- -[#[object Object]] - -
+

Function g0

@@ -226,10 +211,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace detair

@@ -250,7 +232,7 @@

Types

- Y + Y @@ -274,7 +256,7 @@

Functions

- f4 + f4 @@ -284,10 +266,7 @@

Functions

- -[#[object Object]] - -
+

Function f4

@@ -315,10 +294,7 @@

Synopsis

- -[#[object Object]] - -
+

Class Y

@@ -358,7 +334,7 @@

Types

- Z + Z @@ -382,7 +358,7 @@

Member Functions

- f6 + f6 @@ -394,12 +370,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function Y::f6

+

Function Y::f6

@@ -425,12 +398,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class Y::Z

+

Class Y::Z

@@ -468,7 +438,7 @@

Member Functions

- f7 + f7 @@ -480,12 +450,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function Y::Z::f7

+

Function Y::Z::f7

@@ -511,10 +478,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace B

@@ -535,7 +499,7 @@

Namespaces

- detair + detair @@ -559,7 +523,7 @@

Functions

- f0 + f0 @@ -569,10 +533,7 @@

Functions

- -[#[object Object]] - -
+

Function f0

@@ -600,10 +561,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace detair

@@ -624,7 +582,7 @@

Types

- Y + Y @@ -648,7 +606,7 @@

Functions

- f4 + f4 @@ -658,10 +616,7 @@

Functions

- -[#[object Object]] - -
+

Function f4

@@ -689,10 +644,7 @@

Synopsis

- -[#[object Object]] - -
+

Class Y

@@ -732,7 +684,7 @@

Types

- Z + Z @@ -756,7 +708,7 @@

Member Functions

- f6 + f6 @@ -768,12 +720,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function Y::f6

+

Function Y::f6

@@ -799,12 +748,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class Y::Z

+

Class Y::Z

@@ -842,7 +788,7 @@

Member Functions

- f7 + f7 @@ -854,12 +800,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function Y::Z::f7

+

Function Y::Z::f7

@@ -885,10 +828,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace C

@@ -909,7 +849,7 @@

Functions

- g0 + g0 @@ -919,10 +859,7 @@

Functions

- -[#[object Object]] - -
+

Function g0

@@ -950,10 +887,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace D

@@ -974,7 +908,7 @@

Namespaces

- E + E @@ -998,14 +932,14 @@

Functions

- f1 + f1 - g1 + g1 @@ -1015,10 +949,7 @@

Functions

- -[#[object Object]] - -
+

Namespace E

@@ -1039,7 +970,7 @@

Functions

- g0 + g0 @@ -1049,10 +980,7 @@

Functions

- -[#[object Object]] - -
+

Function g0

@@ -1080,10 +1008,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f1

@@ -1111,10 +1036,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g1

@@ -1142,10 +1064,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace F

@@ -1166,7 +1085,7 @@

Namespaces

- G + G @@ -1190,7 +1109,7 @@

Functions

- g0 + g0 @@ -1200,10 +1119,7 @@

Functions

- -[#[object Object]] - -
+

Function g0

@@ -1231,10 +1147,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace G

@@ -1255,14 +1168,14 @@

Functions

- f1 + f1 - g1 + g1 @@ -1272,10 +1185,7 @@

Functions

- -[#[object Object]] - -
+

Function f1

@@ -1303,10 +1213,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g1

diff --git a/test-files/golden-tests/filters/whitelist_0.html b/test-files/golden-tests/filters/whitelist_0.html index 0b4d049741..1b10289eea 100644 --- a/test-files/golden-tests/filters/whitelist_0.html +++ b/test-files/golden-tests/filters/whitelist_0.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,21 +24,21 @@

Namespaces

- N0 + N0 - N1 + N1 - N5 + N5 @@ -51,10 +48,7 @@

Namespaces

- -[#[object Object]] - -
+

Namespace N0

@@ -75,7 +69,7 @@

Functions

- f0_WL + f0_WL @@ -85,10 +79,7 @@

Functions

- -[#[object Object]] - -
+

Function f0_WL

@@ -116,10 +107,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace N1

@@ -140,14 +128,14 @@

Namespaces

- N3_WL + N3_WL - N4 + N4 @@ -157,10 +145,7 @@

Namespaces

- -[#[object Object]] - -
+

Namespace N3_WL

@@ -181,7 +166,7 @@

Functions

- f1_WL + f1_WL @@ -191,10 +176,7 @@

Functions

- -[#[object Object]] - -
+

Function f1_WL

@@ -222,10 +204,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace N4

@@ -246,7 +225,7 @@

Functions

- f1_WL + f1_WL @@ -256,10 +235,7 @@

Functions

- -[#[object Object]] - -
+

Function f1_WL

@@ -287,10 +263,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace N5

@@ -311,7 +284,7 @@

Namespaces

- N6_BL + N6_BL @@ -335,7 +308,7 @@

Functions

- f0 + f0 @@ -345,10 +318,7 @@

Functions

- -[#[object Object]] - -
+

Function f0

@@ -376,10 +346,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace N6_BL

@@ -400,14 +367,14 @@

Namespaces

- M7 + M7 - N7 + N7 @@ -417,10 +384,7 @@

Namespaces

- -[#[object Object]] - -
+

Namespace N7

@@ -441,7 +405,7 @@

Functions

- f2_WL + f2_WL @@ -451,10 +415,7 @@

Functions

- -[#[object Object]] - -
+

Function f2_WL

@@ -482,10 +443,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace M7

@@ -506,7 +464,7 @@

Functions

- f2_WL + f2_WL @@ -516,10 +474,7 @@

Functions

- -[#[object Object]] - -
+

Function f2_WL

diff --git a/test-files/golden-tests/filters/whitelist_test.html b/test-files/golden-tests/filters/whitelist_test.html index cf091f0b66..1b6625b05b 100644 --- a/test-files/golden-tests/filters/whitelist_test.html +++ b/test-files/golden-tests/filters/whitelist_test.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Namespaces

- blacklisted + blacklisted - to_be_documented + to_be_documented @@ -44,10 +41,7 @@

Namespaces

- -[#[object Object]] - -
+

Namespace to_be_documented

@@ -68,7 +62,7 @@

Functions

- documented_function + documented_function @@ -78,10 +72,7 @@

Functions

- -[#[object Object]] - -
+

Function documented_function

@@ -109,10 +100,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace blacklisted

@@ -133,7 +121,7 @@

Functions

- whitelisted_function + whitelisted_function @@ -143,10 +131,7 @@

Functions

- -[#[object Object]] - -
+

Function whitelisted_function

diff --git a/test-files/golden-tests/friend-1.html b/test-files/golden-tests/friend-1.html index 2e638474b9..79f9c35dee 100644 --- a/test-files/golden-tests/friend-1.html +++ b/test-files/golden-tests/friend-1.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- T + T @@ -51,7 +48,7 @@

Functions

- f + f

f

@@ -63,10 +60,7 @@

Functions

- -[#[object Object]] - -
+

Class T

@@ -106,7 +100,7 @@

Friends

- f + f

f

@@ -120,10 +114,7 @@

Friends

- -[#[object Object]] - -
+

Friend f

f

@@ -151,10 +142,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f

f

diff --git a/test-files/golden-tests/friend-2.html b/test-files/golden-tests/friend-2.html index 96720b644a..f4d9cd6a92 100644 --- a/test-files/golden-tests/friend-2.html +++ b/test-files/golden-tests/friend-2.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- T + T @@ -51,7 +48,7 @@

Functions

- f + f

f

@@ -63,10 +60,7 @@

Functions

- -[#[object Object]] - -
+

Class T

@@ -106,7 +100,7 @@

Friends

- f + f

f

@@ -120,10 +114,7 @@

Friends

- -[#[object Object]] - -
+

Friend f

f

@@ -151,10 +142,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f

f

diff --git a/test-files/golden-tests/friend-3.html b/test-files/golden-tests/friend-3.html index 16cecc0af4..d0d35d08da 100644 --- a/test-files/golden-tests/friend-3.html +++ b/test-files/golden-tests/friend-3.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Types

- T + T - U + U @@ -58,7 +55,7 @@

Functions

- f + f

T::f

@@ -70,10 +67,7 @@

Functions

- -[#[object Object]] - -
+

Class T

@@ -113,7 +107,7 @@

Friends

- f + f

T::f

@@ -127,10 +121,7 @@

Friends

- -[#[object Object]] - -
+

Friend f

T::f

@@ -158,10 +149,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f

T::f

@@ -191,10 +179,7 @@

Synopsis

- -[#[object Object]] - -
+

Class U

@@ -234,7 +219,7 @@

Friends

- f + f @@ -246,10 +231,7 @@

Friends

- -[#[object Object]] - -
+

Friend f

diff --git a/test-files/golden-tests/friend-4.html b/test-files/golden-tests/friend-4.html index ddc32f8fd6..c09a15f4e4 100644 --- a/test-files/golden-tests/friend-4.html +++ b/test-files/golden-tests/friend-4.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Types

- T + T - U + U @@ -58,7 +55,7 @@

Functions

- f + f

U::f

@@ -70,10 +67,7 @@

Functions

- -[#[object Object]] - -
+

Class T

@@ -113,7 +107,7 @@

Friends

- f + f @@ -125,10 +119,7 @@

Friends

- -[#[object Object]] - -
+

Friend f

@@ -154,10 +145,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f

U::f

@@ -187,10 +175,7 @@

Synopsis

- -[#[object Object]] - -
+

Class U

@@ -230,7 +215,7 @@

Friends

- f + f

U::f

@@ -244,10 +229,7 @@

Friends

- -[#[object Object]] - -
+

Friend f

U::f

diff --git a/test-files/golden-tests/friend-5.html b/test-files/golden-tests/friend-5.html index d5d8547088..36f3bf9aea 100644 --- a/test-files/golden-tests/friend-5.html +++ b/test-files/golden-tests/friend-5.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Types

- T + T - U + U @@ -58,7 +55,7 @@

Functions

- f + f

f

@@ -70,10 +67,7 @@

Functions

- -[#[object Object]] - -
+

Class T

@@ -113,7 +107,7 @@

Friends

- f + f @@ -125,10 +119,7 @@

Friends

- -[#[object Object]] - -
+

Friend f

@@ -154,10 +145,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f

f

@@ -187,10 +175,7 @@

Synopsis

- -[#[object Object]] - -
+

Class U

@@ -230,7 +215,7 @@

Friends

- f + f @@ -242,10 +227,7 @@

Friends

- -[#[object Object]] - -
+

Friend f

diff --git a/test-files/golden-tests/friend-6.html b/test-files/golden-tests/friend-6.html index 34b5355370..2f74523d6d 100644 --- a/test-files/golden-tests/friend-6.html +++ b/test-files/golden-tests/friend-6.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- T + T

Struct T brief

@@ -36,7 +33,7 @@

Types

- U + U

Struct U brief

@@ -45,7 +42,7 @@

Types

- V + V

Struct V brief

@@ -57,10 +54,7 @@

Types

- -[#[object Object]] - -
+

Class T

Struct T brief

@@ -102,7 +96,7 @@

Friends

- [object Object] + [object Object]

Friend int brief

@@ -111,7 +105,7 @@

Friends

- [object Object] + [object Object]

Friend class Z brief

@@ -125,10 +119,7 @@

Friends

- -[#[object Object]] - -
+

Friend [object Object]

Friend int brief

@@ -154,10 +145,7 @@

Synopsis

- -[#[object Object]] - -
+

Friend [object Object]

Friend class Z brief

@@ -183,10 +171,7 @@

Synopsis

- -[#[object Object]] - -
+

Class U

Struct U brief

@@ -228,7 +213,7 @@

Friends

- [object Object] + [object Object]

Friend T brief

@@ -242,10 +227,7 @@

Friends

- -[#[object Object]] - -
+

Friend [object Object]

Friend T brief

@@ -266,15 +248,12 @@

Synopsis

-            friend T;
+            friend T;
         
- -[#[object Object]] - -
+

Class V

Struct V brief

@@ -316,7 +295,7 @@

Friends

- [object Object] + [object Object]

Friend struct U brief

@@ -330,10 +309,7 @@

Friends

- -[#[object Object]] - -
+

Friend [object Object]

Friend struct U brief

@@ -354,7 +330,7 @@

Synopsis

-            friend U;
+            friend U;
         
diff --git a/test-files/golden-tests/function-parm-decay.html b/test-files/golden-tests/function-parm-decay.html index 59a38f3290..d74ccf602b 100644 --- a/test-files/golden-tests/function-parm-decay.html +++ b/test-files/golden-tests/function-parm-decay.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Types

- T + T - U + U @@ -58,28 +55,28 @@

Functions

- f + f - g + g - h + h - i + i @@ -89,10 +86,7 @@

Functions

- -[#[object Object]] - -
+

Function f

@@ -120,10 +114,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g

@@ -151,10 +142,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h

@@ -182,10 +170,7 @@

Synopsis

- -[#[object Object]] - -
+

T

@@ -209,10 +194,7 @@

Synopsis

- -[#[object Object]] - -
+

U

@@ -236,10 +218,7 @@

Synopsis

- -[#[object Object]] - -
+

Function i

@@ -259,7 +238,7 @@

Synopsis

             void
-i(T);
+i(T);
         
diff --git a/test-files/golden-tests/function-template.html b/test-files/golden-tests/function-template.html index 28cf912426..b82308cd7f 100644 --- a/test-files/golden-tests/function-template.html +++ b/test-files/golden-tests/function-template.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,84 +24,84 @@

Functions

- f0 + f0 - f1 + f1 - f2 + f2 - f3 + f3 - g0 + g0 - g1 + g1 - g2 + g2 - h0 + h0 - h1 + h1 - i + i - j0 + j0 - j1 + j1 @@ -114,10 +111,7 @@

Functions

- -[#[object Object]] - -
+

Function f0

@@ -146,10 +140,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f1

@@ -178,10 +169,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f2

@@ -210,10 +198,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f3

@@ -244,10 +229,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g0

@@ -276,10 +258,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g1

@@ -308,10 +287,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g2

@@ -342,10 +318,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h0

@@ -374,10 +347,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h1

@@ -410,10 +380,7 @@

Synopsis

- -[#[object Object]] - -
+

Function i

@@ -444,10 +411,7 @@

Synopsis

- -[#[object Object]] - -
+

Function j0

@@ -476,10 +440,7 @@

Synopsis

- -[#[object Object]] - -
+

Function j1

diff --git a/test-files/golden-tests/function-tparm-decay.html b/test-files/golden-tests/function-tparm-decay.html index c97ca37059..44d02146ea 100644 --- a/test-files/golden-tests/function-tparm-decay.html +++ b/test-files/golden-tests/function-tparm-decay.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Types

- T + T - U + U @@ -58,28 +55,28 @@

Functions

- f + f - g + g - h + h - i + i @@ -89,10 +86,7 @@

Functions

- -[#[object Object]] - -
+

Function f

@@ -121,10 +115,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g

@@ -153,10 +144,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h

@@ -185,10 +173,7 @@

Synopsis

- -[#[object Object]] - -
+

T

@@ -212,10 +197,7 @@

Synopsis

- -[#[object Object]] - -
+

U

@@ -239,10 +221,7 @@

Synopsis

- -[#[object Object]] - -
+

Function i

diff --git a/test-files/golden-tests/implicit-instantiation-member-ref.html b/test-files/golden-tests/implicit-instantiation-member-ref.html index 6f7f2889e4..60c502df86 100644 --- a/test-files/golden-tests/implicit-instantiation-member-ref.html +++ b/test-files/golden-tests/implicit-instantiation-member-ref.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,84 +24,84 @@

Types

- A0 + A0 - A1 + A1 - A10 + A10 - A2 + A2 - A3 + A3 - A4 + A4 - A5 + A5 - A6 + A6 - A7 + A7 - A8 + A8 - A9 + A9 - S0 + S0 @@ -114,10 +111,7 @@

Types

- -[#[object Object]] - -
+

Class S0

@@ -158,28 +152,28 @@

Types

- M0 + M0 - M1 + M1 - S1 + S1 - S2 + S2 @@ -191,12 +185,9 @@

Types

- -[#[object Object]] - -
+
-

S0::M0

+

S0::M0

@@ -218,12 +209,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class S0::S1

+

Class S0::S1

@@ -249,12 +237,9 @@

Synopsis

- -[#[object Object]] - -
+
-

S0::M1

+

S0::M1

@@ -272,17 +257,14 @@

Synopsis

             template
-using M1 = S0;
+using M1 = S0;
         
- -[#[object Object]] - -
+
-

Class S0::S2

+

Class S0::S2

@@ -321,28 +303,28 @@

Types

- M2 + M2 - M3 + M3 - S3 + S3 - S4 + S4 @@ -354,12 +336,9 @@

Types

- -[#[object Object]] - -
+
-

S0::S2::M2

+

S0::S2::M2

@@ -381,12 +360,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class S0::S2::S3

+

Class S0::S2::S3

@@ -412,12 +388,9 @@

Synopsis

- -[#[object Object]] - -
+
-

S0::S2::M3

+

S0::S2::M3

@@ -435,17 +408,14 @@

Synopsis

             template
-using M3 = S2;
+using M3 = S2;
         
- -[#[object Object]] - -
+
-

Class S0::S2::S4

+

Class S0::S2::S4

@@ -484,7 +454,7 @@

Types

- M4 + M4 @@ -496,12 +466,9 @@

Types

- -[#[object Object]] - -
+
-

S0::S2::S4::M4

+

S0::S2::S4::M4

@@ -523,10 +490,7 @@

Synopsis

- -[#[object Object]] - -
+

A0

@@ -545,15 +509,12 @@

Synopsis

-            using A0 = S0;
+            using A0 = S0;
         
- -[#[object Object]] - -
+

A1

@@ -572,15 +533,12 @@

Synopsis

-            using A1 = A0::M0;
+            using A1 = A0::M0;
         
- -[#[object Object]] - -
+

A2

@@ -599,15 +557,12 @@

Synopsis

-            using A2 = A0::S1;
+            using A2 = A0::S1;
         
- -[#[object Object]] - -
+

A3

@@ -626,15 +581,12 @@

Synopsis

-            using A3 = S0::M0;
+            using A3 = S0::M0;
         
- -[#[object Object]] - -
+

A4

@@ -653,15 +605,12 @@

Synopsis

-            using A4 = S0::S1;
+            using A4 = S0::S1;
         
- -[#[object Object]] - -
+

A5

@@ -680,15 +629,12 @@

Synopsis

-            using A5 = S0;
+            using A5 = S0;
         
- -[#[object Object]] - -
+

A6

@@ -707,15 +653,12 @@

Synopsis

-            using A6 = A5::M1::M0;
+            using A6 = A5::M1::M0;
         
- -[#[object Object]] - -
+

A7

@@ -734,15 +677,12 @@

Synopsis

-            using A7 = A5::S2::M2;
+            using A7 = A5::S2::M2;
         
- -[#[object Object]] - -
+

A8

@@ -761,15 +701,12 @@

Synopsis

-            using A8 = A5::S2::S3;
+            using A8 = A5::S2::S3;
         
- -[#[object Object]] - -
+

A9

@@ -788,15 +725,12 @@

Synopsis

-            using A9 = A5::S2::M3::M3::M2;
+            using A9 = A5::S2::M3::M3::M2;
         
- -[#[object Object]] - -
+

A10

@@ -815,7 +749,7 @@

Synopsis

-            using A10 = A5::S2::M3::M3::S4::M4;
+            using A10 = A5::S2::M3::M3::S4::M4;
         
diff --git a/test-files/golden-tests/local-class.html b/test-files/golden-tests/local-class.html index 46e34b00ac..8f5c14c4d8 100644 --- a/test-files/golden-tests/local-class.html +++ b/test-files/golden-tests/local-class.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- B + B @@ -51,7 +48,7 @@

Functions

- f + f @@ -61,10 +58,7 @@

Functions

- -[#[object Object]] - -
+

Function f

@@ -92,10 +86,7 @@

Synopsis

- -[#[object Object]] - -
+

Class B

diff --git a/test-files/golden-tests/mem-fn.html b/test-files/golden-tests/mem-fn.html index 93554e3327..0a90a86398 100644 --- a/test-files/golden-tests/mem-fn.html +++ b/test-files/golden-tests/mem-fn.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,126 +24,126 @@

Types

- T01 + T01 - T02 + T02 - T03 + T03 - T04 + T04 - T05 + T05 - T06 + T06 - T08 + T08 - T09 + T09 - T10 + T10 - T11 + T11 - T12 + T12 - T13 + T13 - T14 + T14 - T15 + T15 - T16 + T16 - T17 + T17 - U + U - V + V @@ -156,10 +153,7 @@

Types

- -[#[object Object]] - -
+

Class T01

@@ -199,7 +193,7 @@

Member Functions

- f + f @@ -211,12 +205,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T01::f

+

Function T01::f

@@ -242,10 +233,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T02

@@ -285,7 +273,7 @@

Static Member Functions

- f + f @@ -297,12 +285,9 @@

Static Member Functions

- -[#[object Object]] - -
+
-

Function T02::f

+

Function T02::f

@@ -329,10 +314,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T03

@@ -372,7 +354,7 @@

Member Functions

- f + f @@ -384,12 +366,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T03::f

+

Function T03::f

@@ -415,10 +394,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T04

@@ -458,7 +434,7 @@

Member Functions

- f + f @@ -470,12 +446,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T04::f

+

Function T04::f

@@ -501,10 +474,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T05

@@ -544,7 +514,7 @@

Member Functions

- f + f @@ -556,12 +526,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T05::f

+

Function T05::f

@@ -587,10 +554,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T06

@@ -630,7 +594,7 @@

Member Functions

- f + f @@ -642,12 +606,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T06::f

+

Function T06::f

@@ -674,10 +635,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T08

@@ -717,7 +675,7 @@

Member Functions

- f + f @@ -729,12 +687,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T08::f

+

Function T08::f

@@ -760,10 +715,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T09

@@ -803,7 +755,7 @@

Member Functions

- f + f @@ -815,12 +767,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T09::f

+

Function T09::f

@@ -846,10 +795,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T10

@@ -889,7 +835,7 @@

Member Functions

- f + f @@ -901,12 +847,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T10::f

+

Function T10::f

@@ -932,10 +875,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T11

@@ -975,7 +915,7 @@

Member Functions

- f + f @@ -987,12 +927,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T11::f

+

Function T11::f

@@ -1018,10 +955,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T12

@@ -1061,7 +995,7 @@

Member Functions

- f + f @@ -1073,12 +1007,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T12::f

+

Function T12::f

@@ -1104,10 +1035,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T13

@@ -1147,7 +1075,7 @@

Member Functions

- f + f @@ -1159,12 +1087,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T13::f

+

Function T13::f

@@ -1191,10 +1116,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T14

@@ -1234,7 +1156,7 @@

Member Functions

- f + f @@ -1246,12 +1168,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T14::f

+

Function T14::f

@@ -1278,10 +1197,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T15

@@ -1321,7 +1237,7 @@

Member Functions

- f + f @@ -1333,12 +1249,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T15::f

+

Function T15::f

@@ -1364,10 +1277,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T16

@@ -1407,7 +1317,7 @@

Static Member Functions

- f + f @@ -1419,12 +1329,9 @@

Static Member Functions

- -[#[object Object]] - -
+
-

Function T16::f

+

Function T16::f

@@ -1451,10 +1358,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T17

@@ -1474,7 +1378,7 @@

Synopsis

             struct T17
-    : T14;
+    : T14;
         
@@ -1495,7 +1399,7 @@

Member Functions

- f + f @@ -1506,12 +1410,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T17::f

+

Function T17::f

@@ -1538,10 +1439,7 @@

Synopsis

- -[#[object Object]] - -
+

Class U

@@ -1581,14 +1479,14 @@

Member Functions

- f1 + f1 - f3 + f3 @@ -1612,7 +1510,7 @@

Static Member Functions

- f2 + f2 @@ -1624,12 +1522,9 @@

Static Member Functions

- -[#[object Object]] - -
+
-

Function U::f1

+

Function U::f1

@@ -1656,12 +1551,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function U::f2

+

Function U::f2

@@ -1689,12 +1581,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function U::f3

+

Function U::f3

@@ -1721,10 +1610,7 @@

Synopsis

- -[#[object Object]] - -
+

Class V

@@ -1744,7 +1630,7 @@

Synopsis

             struct V
-    : U;
+    : U;
         
@@ -1765,14 +1651,14 @@

Member Functions

- f1 + f1 - f3 + f3 @@ -1795,7 +1681,7 @@

Static Member Functions

- f2 + f2 @@ -1807,12 +1693,9 @@

Static Member Functions

- -[#[object Object]] - -
+
-

Function V::f3

+

Function V::f3

diff --git a/test-files/golden-tests/namespace-alias-1.html b/test-files/golden-tests/namespace-alias-1.html index 5fa3d65676..a37d6efdd5 100644 --- a/test-files/golden-tests/namespace-alias-1.html +++ b/test-files/golden-tests/namespace-alias-1.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Namespaces

- LongName + LongName @@ -37,20 +34,14 @@

Namespaces

- -[#[object Object]] - -
+

Namespace LongName

- -[#[object Object]] - -
+

A

@@ -68,7 +59,7 @@

Synopsis

-            namespace A = LongName
+            namespace A = LongName
 ;
         
diff --git a/test-files/golden-tests/namespace-alias-2.html b/test-files/golden-tests/namespace-alias-2.html index 5f9ba2bb75..996acb7b86 100644 --- a/test-files/golden-tests/namespace-alias-2.html +++ b/test-files/golden-tests/namespace-alias-2.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Namespaces

- LongName + LongName @@ -37,20 +34,14 @@

Namespaces

- -[#[object Object]] - -
+

Namespace LongName

- -[#[object Object]] - -
+

A

@@ -68,15 +59,12 @@

Synopsis

-            namespace A = LongName
+            namespace A = LongName
 ;
         
- -[#[object Object]] - -
+

B

@@ -94,7 +82,7 @@

Synopsis

-            namespace B = LongName
+            namespace B = LongName
 ;
         
diff --git a/test-files/golden-tests/namespace-alias-3.html b/test-files/golden-tests/namespace-alias-3.html index 08c84fc0af..675e102347 100644 --- a/test-files/golden-tests/namespace-alias-3.html +++ b/test-files/golden-tests/namespace-alias-3.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Namespaces

- LongName + LongName @@ -37,20 +34,14 @@

Namespaces

- -[#[object Object]] - -
+

Namespace LongName

- -[#[object Object]] - -
+

A

@@ -68,15 +59,12 @@

Synopsis

-            namespace A = LongName
+            namespace A = LongName
 ;
         
- -[#[object Object]] - -
+

B

@@ -94,7 +82,7 @@

Synopsis

-            namespace B = A
+            namespace B = A
 ;
         
diff --git a/test-files/golden-tests/namespace.html b/test-files/golden-tests/namespace.html index f3405aabb0..e0acc60125 100644 --- a/test-files/golden-tests/namespace.html +++ b/test-files/golden-tests/namespace.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,28 +24,28 @@

Namespaces

- + - A + A - D + D - I + I @@ -58,10 +55,7 @@

Namespaces

- -[#[object Object]] - -
+

Namespace A

@@ -82,21 +76,21 @@

Namespaces

- + - B + B - C + C @@ -120,7 +114,7 @@

Functions

- f0 + f0 @@ -130,10 +124,7 @@

Functions

- -[#[object Object]] - -
+

Function f0

@@ -161,10 +152,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace B

@@ -185,7 +173,7 @@

Functions

- f1 + f1 @@ -195,10 +183,7 @@

Functions

- -[#[object Object]] - -
+

Function f1

@@ -226,10 +211,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace C

@@ -250,7 +232,7 @@

Functions

- f2 + f2 @@ -260,10 +242,7 @@

Functions

- -[#[object Object]] - -
+

Function f2

@@ -291,10 +270,7 @@

Synopsis

- -[#[object Object]] - -
+

Unnamed namespace

@@ -315,7 +291,7 @@

Functions

- f3 + f3 @@ -325,10 +301,7 @@

Functions

- -[#[object Object]] - -
+

Function f3

@@ -356,10 +329,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace D

@@ -380,21 +350,21 @@

Namespaces

- + - E + E - F + F @@ -418,7 +388,7 @@

Functions

- f5 + f5 @@ -428,10 +398,7 @@

Functions

- -[#[object Object]] - -
+

Function f5

@@ -459,10 +426,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace E

@@ -483,7 +447,7 @@

Functions

- f6 + f6 @@ -493,10 +457,7 @@

Functions

- -[#[object Object]] - -
+

Function f6

@@ -524,10 +485,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace F

@@ -548,7 +506,7 @@

Functions

- f7 + f7 @@ -558,10 +516,7 @@

Functions

- -[#[object Object]] - -
+

Function f7

@@ -589,10 +544,7 @@

Synopsis

- -[#[object Object]] - -
+

Unnamed namespace

@@ -613,7 +565,7 @@

Functions

- f8 + f8 @@ -623,10 +575,7 @@

Functions

- -[#[object Object]] - -
+

Function f8

@@ -654,10 +603,7 @@

Synopsis

- -[#[object Object]] - -
+

Unnamed namespace

@@ -678,14 +624,14 @@

Namespaces

- G + G - H + H @@ -709,7 +655,7 @@

Functions

- f10 + f10 @@ -719,10 +665,7 @@

Functions

- -[#[object Object]] - -
+

Function f10

@@ -750,10 +693,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace G

@@ -774,7 +714,7 @@

Functions

- f11 + f11 @@ -784,10 +724,7 @@

Functions

- -[#[object Object]] - -
+

Function f11

@@ -815,10 +752,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace H

@@ -839,7 +773,7 @@

Functions

- f12 + f12 @@ -849,10 +783,7 @@

Functions

- -[#[object Object]] - -
+

Function f12

@@ -880,10 +811,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace I

@@ -904,7 +832,7 @@

Namespaces

- + @@ -914,10 +842,7 @@

Namespaces

- -[#[object Object]] - -
+

Unnamed namespace

@@ -938,7 +863,7 @@

Functions

- f14 + f14 @@ -948,10 +873,7 @@

Functions

- -[#[object Object]] - -
+

Function f14

diff --git a/test-files/golden-tests/nested-private-template.html b/test-files/golden-tests/nested-private-template.html index 7725ab046f..0c1c2af88d 100644 --- a/test-files/golden-tests/nested-private-template.html +++ b/test-files/golden-tests/nested-private-template.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- range + range @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class range

@@ -81,14 +75,14 @@

Private Types

- impl + impl - impl + impl @@ -100,12 +94,9 @@

Private Types

- -[#[object Object]] - -
+
-

Class range::impl

+

Class range::impl

@@ -134,12 +125,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class range::impl

+

Class range::impl

@@ -157,7 +145,7 @@

Synopsis

             template
-struct impl;
+struct impl;
         
diff --git a/test-files/golden-tests/no_unique_address.html b/test-files/golden-tests/no_unique_address.html index 28c423334c..3dbeb2e1b7 100644 --- a/test-files/golden-tests/no_unique_address.html +++ b/test-files/golden-tests/no_unique_address.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Types

- Empty + Empty - T + T @@ -44,10 +41,7 @@

Types

- -[#[object Object]] - -
+

Class Empty

@@ -75,10 +69,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T

@@ -118,14 +109,14 @@

Data Members

- e + e - i + i @@ -137,12 +128,9 @@

Data Members

- -[#[object Object]] - -
+
-

T::i

+

T::i

@@ -164,12 +152,9 @@

Synopsis

- -[#[object Object]] - -
+
-

T::e

+

T::e

@@ -186,7 +171,7 @@

Synopsis

-            Empty e = Empty{};
+            Empty e = Empty{};
         
diff --git a/test-files/golden-tests/noreturn.html b/test-files/golden-tests/noreturn.html index 0099fd1445..75bbc30690 100644 --- a/test-files/golden-tests/noreturn.html +++ b/test-files/golden-tests/noreturn.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- T + T @@ -51,7 +48,7 @@

Functions

- f1 + f1 @@ -61,10 +58,7 @@

Functions

- -[#[object Object]] - -
+

Function f1

@@ -92,10 +86,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T

@@ -135,7 +126,7 @@

Member Functions

- f3 + f3 @@ -159,7 +150,7 @@

Static Member Functions

- f2 + f2 @@ -183,7 +174,7 @@

Friends

- f1 + f1 @@ -195,12 +186,9 @@

Friends

- -[#[object Object]] - -
+
-

Function T::f2

+

Function T::f2

@@ -227,12 +215,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function T::f3

+

Function T::f3

@@ -258,10 +243,7 @@

Synopsis

- -[#[object Object]] - -
+

Friend f1

diff --git a/test-files/golden-tests/ns-variables.html b/test-files/golden-tests/ns-variables.html index 1b3785de0b..a996e6e41f 100644 --- a/test-files/golden-tests/ns-variables.html +++ b/test-files/golden-tests/ns-variables.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- T + T @@ -51,63 +48,63 @@

Variables

- i + i - j + j - k + k - l + l - pi + pi - t + t - x0 + x0 - x1 + x1 - x2 + x2 @@ -117,10 +114,7 @@

Variables

- -[#[object Object]] - -
+

i

@@ -145,10 +139,7 @@

Synopsis

- -[#[object Object]] - -
+

j

@@ -172,10 +163,7 @@

Synopsis

- -[#[object Object]] - -
+

k

@@ -201,10 +189,7 @@

Synopsis

- -[#[object Object]] - -
+

l

@@ -229,10 +214,7 @@

Synopsis

- -[#[object Object]] - -
+

pi

@@ -256,10 +238,7 @@

Synopsis

- -[#[object Object]] - -
+

Class T

@@ -287,10 +266,7 @@

Synopsis

- -[#[object Object]] - -
+

t

@@ -310,15 +286,12 @@

Synopsis

             extern
-T t;
+T t;
         
- -[#[object Object]] - -
+

x0

@@ -343,10 +316,7 @@

Synopsis

- -[#[object Object]] - -
+

x1

@@ -372,10 +342,7 @@

Synopsis

- -[#[object Object]] - -
+

x2

diff --git a/test-files/golden-tests/out-of-line-record-def.html b/test-files/golden-tests/out-of-line-record-def.html index f71a0c9a57..c73fe6ce06 100644 --- a/test-files/golden-tests/out-of-line-record-def.html +++ b/test-files/golden-tests/out-of-line-record-def.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Namespaces

- N + N @@ -37,10 +34,7 @@

Namespaces

- -[#[object Object]] - -
+

Namespace N

@@ -61,7 +55,7 @@

Types

- S + S @@ -71,10 +65,7 @@

Types

- -[#[object Object]] - -
+

Class S

diff --git a/test-files/golden-tests/overloaded-op-1.html b/test-files/golden-tests/overloaded-op-1.html index 8eb0e00fcc..979248beb1 100644 --- a/test-files/golden-tests/overloaded-op-1.html +++ b/test-files/golden-tests/overloaded-op-1.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- T + T @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class T

@@ -80,7 +74,7 @@

Member Functions

- operator+ + operator+ @@ -92,12 +86,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T::operator+

+

Function T::operator+

@@ -114,7 +105,7 @@

Synopsis

-            T
+            T
 operator+();
         
diff --git a/test-files/golden-tests/overloaded-op-2.html b/test-files/golden-tests/overloaded-op-2.html index 717c9872db..561c2c371f 100644 --- a/test-files/golden-tests/overloaded-op-2.html +++ b/test-files/golden-tests/overloaded-op-2.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- T + T @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class T

@@ -80,7 +74,7 @@

Member Functions

- operator+ + operator+ @@ -92,12 +86,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function T::operator+

+

Function T::operator+

@@ -114,8 +105,8 @@

Synopsis

-            T
-operator+(T);
+            T
+operator+(T);
         
diff --git a/test-files/golden-tests/para-1.html b/test-files/golden-tests/para-1.html index eecfc028ec..2c27ecaa22 100644 --- a/test-files/golden-tests/para-1.html +++ b/test-files/golden-tests/para-1.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,28 +24,28 @@

Functions

- f1 + f1 - f2 + f2 - f3 + f3 - f4 + f4

brief

@@ -60,10 +57,7 @@

Functions

- -[#[object Object]] - -
+

Function f1

@@ -91,10 +85,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f2

@@ -122,10 +113,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f3

@@ -153,10 +141,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f4

brief

diff --git a/test-files/golden-tests/para-2.html b/test-files/golden-tests/para-2.html index 4f17d7a201..bc3c22f4df 100644 --- a/test-files/golden-tests/para-2.html +++ b/test-files/golden-tests/para-2.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Functions

- f1 + f1

brief

@@ -39,10 +36,7 @@

Functions

- -[#[object Object]] - -
+

Function f1

brief

diff --git a/test-files/golden-tests/param-direction.html b/test-files/golden-tests/param-direction.html index eeb8da9ab3..424db54ed1 100644 --- a/test-files/golden-tests/param-direction.html +++ b/test-files/golden-tests/param-direction.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,70 +24,70 @@

Functions

- f + f - g + g - h + h - i + i - j + j - k + k - l + l - m + m - n + n - o + o @@ -100,10 +97,7 @@

Functions

- -[#[object Object]] - -
+

Function f

@@ -130,11 +124,25 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + +
NameDescription
x0
+
- -[#[object Object]] - -
+

Function g

@@ -163,11 +171,29 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
NameDescription
x1
y1
+
- -[#[object Object]] - -
+

Function h

@@ -196,11 +222,29 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
NameDescription
x2
y2
+
- -[#[object Object]] - -
+

Function i

@@ -229,11 +273,29 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
NameDescription
x3
y3
+
- -[#[object Object]] - -
+

Function j

@@ -262,11 +324,29 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
NameDescription
x4
y4
+
- -[#[object Object]] - -
+

Function k

@@ -296,11 +376,33 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
x5
y5
z5
+
- -[#[object Object]] - -
+

Function l

@@ -331,11 +433,33 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
x6
y6
z6
+
- -[#[object Object]] - -
+

Function m

@@ -364,11 +488,29 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
NameDescription
x7
y7
+
- -[#[object Object]] - -
+

Function n

@@ -395,11 +537,25 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + +
NameDescription
x8
+
- -[#[object Object]] - -
+

Function o

@@ -426,6 +582,27 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
NameDescription
x9
x9
+

Created with MrDocs

diff --git a/test-files/golden-tests/param.html b/test-files/golden-tests/param.html index cfde8949f3..b437980ff9 100644 --- a/test-files/golden-tests/param.html +++ b/test-files/golden-tests/param.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,28 +24,28 @@

Functions

- f + f - g + g - h + h - i + i @@ -58,10 +55,7 @@

Functions

- -[#[object Object]] - -
+

Function f

@@ -88,11 +82,25 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + +
NameDescription
x
+
- -[#[object Object]] - -
+

Function g

@@ -121,11 +129,29 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
NameDescription
x
y
+
- -[#[object Object]] - -
+

Function h

@@ -155,11 +181,33 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
x
y
z
+
- -[#[object Object]] - -
+

Function i

@@ -190,6 +238,35 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
w
x
y
z
+

Created with MrDocs

diff --git a/test-files/golden-tests/pre-post.html b/test-files/golden-tests/pre-post.html index e14f685dde..4e773d881c 100644 --- a/test-files/golden-tests/pre-post.html +++ b/test-files/golden-tests/pre-post.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Functions

- f + f @@ -37,10 +34,7 @@

Functions

- -[#[object Object]] - -
+

Function f

diff --git a/test-files/golden-tests/record-1.html b/test-files/golden-tests/record-1.html index 21a937b779..070c85836a 100644 --- a/test-files/golden-tests/record-1.html +++ b/test-files/golden-tests/record-1.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- T + T @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class T

@@ -80,14 +74,14 @@

Types

- U1 + U1 - U2 + U2 @@ -111,21 +105,21 @@

Member Functions

- f1 + f1 - f2 + f2 - f3 + f3 @@ -149,7 +143,7 @@

Protected Member Functions

- g1 + g1

brief-g1

@@ -158,7 +152,7 @@

Protected Member Functions

- g2 + g2

brief-g2

@@ -167,7 +161,7 @@

Protected Member Functions

- g3 + g3

brief-g3

@@ -181,12 +175,9 @@

Protected Member Functions

- -[#[object Object]] - -
+
-

T::U1

+

T::U1

@@ -208,12 +199,9 @@

Synopsis

- -[#[object Object]] - -
+
-

T::U2

+

T::U2

@@ -235,12 +223,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function T::f1

+

Function T::f1

@@ -266,12 +251,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function T::f2

+

Function T::f2

@@ -297,12 +279,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function T::f3

+

Function T::f3

@@ -328,12 +307,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function T::g1

+

Function T::g1

brief-g1

@@ -367,12 +343,9 @@

Description

- -[#[object Object]] - -
+
-

Function T::g2

+

Function T::g2

brief-g2

@@ -400,12 +373,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function T::g3

+

Function T::g3

brief-g3

@@ -432,6 +402,23 @@

Synopsis

+
+

Parameters

+ + + + + + + + + + + + + +
NameDescription
x
+

Created with MrDocs

diff --git a/test-files/golden-tests/record-access.html b/test-files/golden-tests/record-access.html index 5fde22e186..135276b065 100644 --- a/test-files/golden-tests/record-access.html +++ b/test-files/golden-tests/record-access.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,21 +24,21 @@

Types

- C0 + C0 - S0 + S0 - U0 + U0 @@ -51,10 +48,7 @@

Types

- -[#[object Object]] - -
+

Class S0

@@ -94,7 +88,7 @@

Member Functions

- f0 + f0 @@ -118,7 +112,7 @@

Protected Member Functions

- f1 + f1 @@ -142,7 +136,7 @@

Private Member Functions

- f2 + f2 @@ -154,12 +148,9 @@

Private Member Functions

- -[#[object Object]] - -
+
-

Function S0::f0

+

Function S0::f0

@@ -185,12 +176,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function S0::f1

+

Function S0::f1

@@ -216,12 +204,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function S0::f2

+

Function S0::f2

@@ -247,10 +232,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C0

@@ -290,7 +272,7 @@

Member Functions

- f2 + f2 @@ -314,7 +296,7 @@

Protected Member Functions

- f1 + f1 @@ -338,7 +320,7 @@

Private Member Functions

- f0 + f0 @@ -350,12 +332,9 @@

Private Member Functions

- -[#[object Object]] - -
+
-

Function C0::f0

+

Function C0::f0

@@ -381,12 +360,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function C0::f1

+

Function C0::f1

@@ -412,12 +388,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function C0::f2

+

Function C0::f2

@@ -443,10 +416,7 @@

Synopsis

- -[#[object Object]] - -
+

Class U0

@@ -486,7 +456,7 @@

Member Functions

- f0 + f0 @@ -510,7 +480,7 @@

Protected Member Functions

- f1 + f1 @@ -534,7 +504,7 @@

Private Member Functions

- f2 + f2 @@ -546,12 +516,9 @@

Private Member Functions

- -[#[object Object]] - -
+
-

Function U0::f0

+

Function U0::f0

@@ -577,12 +544,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function U0::f1

+

Function U0::f1

@@ -608,12 +572,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function U0::f2

+

Function U0::f2

diff --git a/test-files/golden-tests/record-data.html b/test-files/golden-tests/record-data.html index 90c96b6f7d..10a05d9a4e 100644 --- a/test-files/golden-tests/record-data.html +++ b/test-files/golden-tests/record-data.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,35 +24,35 @@

Types

- T + T - U + U - V + V - W + W - X + X @@ -65,10 +62,7 @@

Types

- -[#[object Object]] - -
+

Class T

@@ -108,35 +102,35 @@

Data Members

- i + i - j + j - k + k - l + l - m + m @@ -148,12 +142,9 @@

Data Members

- -[#[object Object]] - -
+
-

T::i

+

T::i

@@ -175,12 +166,9 @@

Synopsis

- -[#[object Object]] - -
+
-

T::j

+

T::j

@@ -202,12 +190,9 @@

Synopsis

- -[#[object Object]] - -
+
-

T::k

+

T::k

@@ -230,12 +215,9 @@

Synopsis

- -[#[object Object]] - -
+
-

T::l

+

T::l

@@ -257,12 +239,9 @@

Synopsis

- -[#[object Object]] - -
+
-

T::m

+

T::m

@@ -284,10 +263,7 @@

Synopsis

- -[#[object Object]] - -
+

Class U

@@ -327,7 +303,7 @@

Data Members

- t + t @@ -339,12 +315,9 @@

Data Members

- -[#[object Object]] - -
+
-

U::t

+

U::t

@@ -361,15 +334,12 @@

Synopsis

-            T t;
+            T t;
         
- -[#[object Object]] - -
+

Class V

@@ -409,7 +379,7 @@

Protected Data Members

- j + j @@ -433,14 +403,14 @@

Private Data Members

- i + i - k + k @@ -452,12 +422,9 @@

Private Data Members

- -[#[object Object]] - -
+
-

V::i

+

V::i

@@ -479,12 +446,9 @@

Synopsis

- -[#[object Object]] - -
+
-

V::j

+

V::j

@@ -506,12 +470,9 @@

Synopsis

- -[#[object Object]] - -
+
-

V::k

+

V::k

@@ -533,10 +494,7 @@

Synopsis

- -[#[object Object]] - -
+

Class W

@@ -576,7 +534,7 @@

Data Members

- buf + buf @@ -588,12 +546,9 @@

Data Members

- -[#[object Object]] - -
+
-

W::buf

+

W::buf

@@ -615,10 +570,7 @@

Synopsis

- -[#[object Object]] - -
+

Class X

@@ -661,7 +613,7 @@

Types

- Q + Q @@ -685,35 +637,35 @@

Data Members

- x0 + x0 - x1 + x1 - x2 + x2 - x3 + x3 - x4 + x4 @@ -725,12 +677,9 @@

Data Members

- -[#[object Object]] - -
+
-

X::Q

+

X::Q

@@ -752,12 +701,9 @@

Synopsis

- -[#[object Object]] - -
+
-

X::x0

+

X::x0

@@ -779,12 +725,9 @@

Synopsis

- -[#[object Object]] - -
+
-

X::x1

+

X::x1

@@ -806,12 +749,9 @@

Synopsis

- -[#[object Object]] - -
+
-

X::x2

+

X::x2

@@ -833,12 +773,9 @@

Synopsis

- -[#[object Object]] - -
+
-

X::x3

+

X::x3

@@ -855,17 +792,14 @@

Synopsis

-            Q x3;
+            Q x3;
         
- -[#[object Object]] - -
+
-

X::x4

+

X::x4

diff --git a/test-files/golden-tests/record-inheritance.html b/test-files/golden-tests/record-inheritance.html index d53c7f2ceb..1b297070d5 100644 --- a/test-files/golden-tests/record-inheritance.html +++ b/test-files/golden-tests/record-inheritance.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,112 +24,112 @@

Types

- C0 + C0 - C1 + C1 - C2 + C2 - C3 + C3 - C4 + C4 - C5 + C5 - C6 + C6 - C7 + C7 - S0 + S0 - S1 + S1 - S2 + S2 - S3 + S3 - S4 + S4 - S5 + S5 - S6 + S6 - U0 + U0 @@ -142,10 +139,7 @@

Types

- -[#[object Object]] - -
+

Class S0

@@ -173,10 +167,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C0

@@ -204,10 +195,7 @@

Synopsis

- -[#[object Object]] - -
+

Class U0

@@ -235,10 +223,7 @@

Synopsis

- -[#[object Object]] - -
+

Class S1

@@ -266,10 +251,7 @@

Synopsis

- -[#[object Object]] - -
+

Class S2

@@ -289,7 +271,7 @@

Synopsis

             struct S2
-    : S0;
+    : S0;
         
@@ -298,10 +280,7 @@

Synopsis

- -[#[object Object]] - -
+

Class S3

@@ -321,7 +300,7 @@

Synopsis

             struct S3
-    : S1;
+    : S1;
         
@@ -330,10 +309,7 @@

Synopsis

- -[#[object Object]] - -
+

Class S4

@@ -353,8 +329,8 @@

Synopsis

             struct S4
-    : S2
-    , S3;
+    : S2
+    , S3;
         
@@ -363,10 +339,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C1

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

Synopsis

             class C1
-    : C0;
+    : C0;
         
@@ -395,10 +368,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C2

@@ -418,7 +388,7 @@

Synopsis

             class C2
-    : public C0;
+    : public C0;
         
@@ -427,10 +397,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C3

@@ -450,7 +417,7 @@

Synopsis

             class C3
-    : protected C0;
+    : protected C0;
         
@@ -459,10 +426,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C4

@@ -482,7 +446,7 @@

Synopsis

             class C4
-    : C0;
+    : C0;
         
@@ -491,10 +455,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C5

@@ -514,7 +475,7 @@

Synopsis

             class C5
-    : virtual C0;
+    : virtual C0;
         
@@ -523,10 +484,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C6

@@ -546,7 +504,7 @@

Synopsis

             class C6
-    : virtual C1;
+    : virtual C1;
         
@@ -555,10 +513,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C7

@@ -578,8 +533,8 @@

Synopsis

             class C7
-    : public C5
-    , public C6;
+    : public C5
+    , public C6;
         
@@ -588,10 +543,7 @@

Synopsis

- -[#[object Object]] - -
+

Class S5

@@ -611,8 +563,8 @@

Synopsis

             struct S5
-    : private S0
-    , protected S1;
+    : private S0
+    , protected S1;
         
@@ -621,10 +573,7 @@

Synopsis

- -[#[object Object]] - -
+

Class S6

diff --git a/test-files/golden-tests/ref.html b/test-files/golden-tests/ref.html index d0eac4e1d4..36228fce73 100644 --- a/test-files/golden-tests/ref.html +++ b/test-files/golden-tests/ref.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Namespaces

- A + A @@ -51,7 +48,7 @@

Types

- F + F @@ -75,26 +72,26 @@

Functions

- f0 + f0 - f5 + f5 -

See A::f1

+

See A::f1

- f6 + f6 -

See F::operator~

+

See F::operator~

@@ -103,10 +100,7 @@

Functions

- -[#[object Object]] - -
+

Function f0

@@ -134,10 +128,7 @@

Synopsis

- -[#[object Object]] - -
+

Namespace A

@@ -158,23 +149,23 @@

Types

- B + B -

See f1

+

See f1

- C + C - D + D @@ -198,10 +189,10 @@

Functions

- f1 + f1 -

See f0

+

See f0

@@ -210,13 +201,10 @@

Functions

- -[#[object Object]] - -
+

Function f1

-

See f0

+

See f0

@@ -241,7 +229,7 @@

Synopsis

Description

-

See ::f0

+

See ::f0

@@ -249,13 +237,10 @@

Description

- -[#[object Object]] - -
+

Class B

-

See f1

+

See f1

@@ -295,7 +280,7 @@

Member Functions

- f2 + f2 @@ -307,20 +292,17 @@

Member Functions

Description

-

See A::f1

+

See A::f1

-

See ::A::f1

+

See ::A::f1

- -[#[object Object]] - -
+
-

Function B::f2

+

Function B::f2

@@ -346,10 +328,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C

@@ -389,14 +368,14 @@

Member Functions

- f3 + f3 - f4 + f4 @@ -408,12 +387,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function C::f3

+

Function C::f3

@@ -439,12 +415,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function C::f4

+

Function C::f4

@@ -470,10 +443,7 @@

Synopsis

- -[#[object Object]] - -
+

Class D

@@ -493,7 +463,7 @@

Synopsis

             struct D
-    : C;
+    : C;
         
@@ -514,10 +484,10 @@

Types

- E + E -

See f3

+

See f3

@@ -540,14 +510,14 @@

Member Functions

- f3 + f3 - f4 + f4 @@ -558,12 +528,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function D::f4

+

Function D::f4

@@ -589,13 +556,10 @@

Synopsis

- -[#[object Object]] - -
+
-

Class D::E

-

See f3

+

Class D::E

+

See f3

@@ -622,21 +586,18 @@

Synopsis

Description

-

See f4

+

See f4

-

See C::f4

+

See C::f4

- -[#[object Object]] - -
+

Function f5

-

See A::f1

+

See A::f1

@@ -661,7 +622,7 @@

Synopsis

Description

-

See ::A::f1

+

See ::A::f1

@@ -669,10 +630,7 @@

Description

- -[#[object Object]] - -
+

Class F

@@ -712,273 +670,273 @@

Member Functions

- operator! + operator! - operator!= + operator!= - operator% + operator% - operator%= + operator%= - operator& + operator& - operator&& + operator&& - operator&= + operator&= - operator() + operator() - operator* + operator* - operator*= + operator*= - operator+ + operator+ - operator++ + operator++ - operator+= + operator+= - operator, + operator, - operator- + operator- - operator-- + operator-- - operator-= + operator-= - operator-> + operator-> - operator->* + operator->* - operator/ + operator/ - operator/= + operator/= - operator< + operator< - operator<< + operator<< - operator<<= + operator<<= - operator<= + operator<= - operator<=> + operator<=> - operator= + operator= - operator== + operator== - operator> + operator> - operator>= + operator>= - operator>> + operator>> - operator>>= + operator>>= - operator[] + operator[] - operator^ + operator^ - operator^= + operator^= - operator| + operator| - operator|= + operator|= - operator|| + operator|| - operator~ + operator~ @@ -990,12 +948,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function F::operator~

+

Function F::operator~

@@ -1021,12 +976,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator,

+

Function F::operator,

@@ -1044,7 +996,7 @@

Synopsis

             void
-operator,(F&);
+operator,(F&);
         
@@ -1052,12 +1004,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator()

+

Function F::operator()

@@ -1075,7 +1024,7 @@

Synopsis

             void
-operator()(F&);
+operator()(F&);
         
@@ -1083,12 +1032,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator[]

+

Function F::operator[]

@@ -1106,7 +1052,7 @@

Synopsis

             void
-operator[](F&);
+operator[](F&);
         
@@ -1114,12 +1060,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator+

+

Function F::operator+

@@ -1137,7 +1080,7 @@

Synopsis

             void
-operator+(F&);
+operator+(F&);
         
@@ -1145,12 +1088,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator++

+

Function F::operator++

@@ -1176,12 +1116,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator+=

+

Function F::operator+=

@@ -1199,7 +1136,7 @@

Synopsis

             void
-operator+=(F&);
+operator+=(F&);
         
@@ -1207,12 +1144,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator&

+

Function F::operator&

@@ -1230,7 +1164,7 @@

Synopsis

             void
-operator&(F&);
+operator&(F&);
         
@@ -1238,12 +1172,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator&&

+

Function F::operator&&

@@ -1261,7 +1192,7 @@

Synopsis

             void
-operator&&(F&);
+operator&&(F&);
         
@@ -1269,12 +1200,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator&=

+

Function F::operator&=

@@ -1292,7 +1220,7 @@

Synopsis

             void
-operator&=(F&);
+operator&=(F&);
         
@@ -1300,12 +1228,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator|

+

Function F::operator|

@@ -1323,7 +1248,7 @@

Synopsis

             void
-operator|(F&);
+operator|(F&);
         
@@ -1331,12 +1256,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator||

+

Function F::operator||

@@ -1354,7 +1276,7 @@

Synopsis

             void
-operator||(F&);
+operator||(F&);
         
@@ -1362,12 +1284,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator|=

+

Function F::operator|=

@@ -1385,7 +1304,7 @@

Synopsis

             void
-operator|=(F&);
+operator|=(F&);
         
@@ -1393,12 +1312,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator-

+

Function F::operator-

@@ -1416,7 +1332,7 @@

Synopsis

             void
-operator-(F&);
+operator-(F&);
         
@@ -1424,12 +1340,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator--

+

Function F::operator--

@@ -1455,12 +1368,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator-=

+

Function F::operator-=

@@ -1478,7 +1388,7 @@

Synopsis

             void
-operator-=(F&);
+operator-=(F&);
         
@@ -1486,12 +1396,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator->

+

Function F::operator->

@@ -1517,12 +1424,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator->*

+

Function F::operator->*

@@ -1540,7 +1444,7 @@

Synopsis

             void
-operator->*(F&);
+operator->*(F&);
         
@@ -1548,12 +1452,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator<

+

Function F::operator<

@@ -1571,7 +1472,7 @@

Synopsis

             void
-operator<(F&);
+operator<(F&);
         
@@ -1579,12 +1480,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator<<

+

Function F::operator<<

@@ -1602,7 +1500,7 @@

Synopsis

             void
-operator<<(F&);
+operator<<(F&);
         
@@ -1610,12 +1508,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator<<=

+

Function F::operator<<=

@@ -1633,7 +1528,7 @@

Synopsis

             void
-operator<<=(F&);
+operator<<=(F&);
         
@@ -1641,12 +1536,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator<=

+

Function F::operator<=

@@ -1664,7 +1556,7 @@

Synopsis

             void
-operator<=(F&);
+operator<=(F&);
         
@@ -1672,12 +1564,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator<=>

+

Function F::operator<=>

@@ -1695,7 +1584,7 @@

Synopsis

             void
-operator<=>(F&);
+operator<=>(F&);
         
@@ -1703,12 +1592,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator>

+

Function F::operator>

@@ -1726,7 +1612,7 @@

Synopsis

             void
-operator>(F&);
+operator>(F&);
         
@@ -1734,12 +1620,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator>>

+

Function F::operator>>

@@ -1757,7 +1640,7 @@

Synopsis

             void
-operator>>(F&);
+operator>>(F&);
         
@@ -1765,12 +1648,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator>>=

+

Function F::operator>>=

@@ -1788,7 +1668,7 @@

Synopsis

             void
-operator>>=(F&);
+operator>>=(F&);
         
@@ -1796,12 +1676,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator>=

+

Function F::operator>=

@@ -1819,7 +1696,7 @@

Synopsis

             void
-operator>=(F&);
+operator>=(F&);
         
@@ -1827,12 +1704,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator*

+

Function F::operator*

@@ -1850,7 +1724,7 @@

Synopsis

             void
-operator*(F&);
+operator*(F&);
         
@@ -1858,12 +1732,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator*=

+

Function F::operator*=

@@ -1881,7 +1752,7 @@

Synopsis

             void
-operator*=(F&);
+operator*=(F&);
         
@@ -1889,12 +1760,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator%

+

Function F::operator%

@@ -1912,7 +1780,7 @@

Synopsis

             void
-operator%(F&);
+operator%(F&);
         
@@ -1920,12 +1788,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator%=

+

Function F::operator%=

@@ -1943,7 +1808,7 @@

Synopsis

             void
-operator%=(F&);
+operator%=(F&);
         
@@ -1951,12 +1816,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator/

+

Function F::operator/

@@ -1974,7 +1836,7 @@

Synopsis

             void
-operator/(F&);
+operator/(F&);
         
@@ -1982,12 +1844,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator/=

+

Function F::operator/=

@@ -2005,7 +1864,7 @@

Synopsis

             void
-operator/=(F&);
+operator/=(F&);
         
@@ -2013,12 +1872,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator^

+

Function F::operator^

@@ -2036,7 +1892,7 @@

Synopsis

             void
-operator^(F&);
+operator^(F&);
         
@@ -2044,12 +1900,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator^=

+

Function F::operator^=

@@ -2067,7 +1920,7 @@

Synopsis

             void
-operator^=(F&);
+operator^=(F&);
         
@@ -2075,12 +1928,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator=

+

Function F::operator=

@@ -2098,7 +1948,7 @@

Synopsis

             void
-operator=(F&);
+operator=(F&);
         
@@ -2106,12 +1956,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator==

+

Function F::operator==

@@ -2129,7 +1976,7 @@

Synopsis

             void
-operator==(F&);
+operator==(F&);
         
@@ -2137,12 +1984,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator!

+

Function F::operator!

@@ -2168,12 +2012,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function F::operator!=

+

Function F::operator!=

@@ -2191,7 +2032,7 @@

Synopsis

             void
-operator!=(F&);
+operator!=(F&);
         
@@ -2199,13 +2040,10 @@

Synopsis

- -[#[object Object]] - -
+

Function f6

-

See F::operator~

+

See F::operator~

@@ -2230,117 +2068,81 @@

Synopsis

Description

-

See F::operator,

+

See F::operator,

-

See F::operator()

+

See F::operator()

-

See -F::operator[]

+

See F::operator[]

-

See -F::operator+

+

See F::operator+

-

See -F::operator++

+

See F::operator++

-

See -F::operator+=

+

See F::operator+=

-

See -F::operator&

+

See F::operator&

-

See -F::operator&&

+

See F::operator&&

-

See -F::operator&=

+

See F::operator&=

-

See -F::operator|

+

See F::operator|

-

See -F::operator||

+

See F::operator||

-

See -F::operator|=

+

See F::operator|=

-

See -F::operator-

+

See F::operator-

-

See -F::operator--

+

See F::operator--

-

See -F::operator-=

+

See F::operator-=

-

See -F::operator->

+

See F::operator->

-

See -F::operator->*

+

See F::operator->*

-

See -F::operator<

+

See F::operator<

-

See -F::operator<<

+

See F::operator<<

-

See -F::operator<<=

+

See F::operator<<=

-

See -F::operator<=

+

See F::operator<=

-

See -F::operator<=>

+

See F::operator<=>

-

See -F::operator>

+

See F::operator>

-

See -F::operator>>

+

See F::operator>>

-

See -F::operator>>=

+

See F::operator>>=

-

See -F::operator>=

+

See F::operator>=

-

See -F::operator*

+

See F::operator*

-

See -F::operator*=

+

See F::operator*=

-

See -F::operator%

+

See F::operator%

-

See -F::operator%=

+

See F::operator%=

-

See -F::operator/

+

See F::operator/

-

See -F::operator/=

+

See F::operator/=

-

See -F::operator^

+

See F::operator^

-

See -F::operator^=

+

See F::operator^=

-

See -F::operator=

+

See F::operator=

-

See -F::operator==

+

See F::operator==

-

See -F::operator!

+

See F::operator!

-

See -F::operator!=

+

See F::operator!=

diff --git a/test-files/golden-tests/requires-clause.html b/test-files/golden-tests/requires-clause.html index b6dadf12b6..3fac4beacc 100644 --- a/test-files/golden-tests/requires-clause.html +++ b/test-files/golden-tests/requires-clause.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -51,13 +48,13 @@

Functions

- f + f - g + g @@ -67,7 +64,7 @@

Functions

-
+

Overload set f

@@ -79,7 +76,7 @@

Members

template
 void
 f();
-» more... +» more...

@@ -87,14 +84,11 @@

Members

template
 void
 f();
-» more... +» more...
- -[#[object Object]] - -
+

Function f

@@ -123,10 +117,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f

@@ -156,7 +147,7 @@

Synopsis

-
+

Overload set g

@@ -168,7 +159,7 @@

Members

template requires (sizeof(T) == 4)
 void
 g();
-» more... +» more...

@@ -176,14 +167,11 @@

Members

template requires (sizeof(U) == 2)
 void
 g();
-» more... +» more...
- -[#[object Object]] - -
+

Function g

@@ -212,10 +200,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g

@@ -244,10 +229,7 @@

Synopsis

- -[#[object Object]] - -
+

Class A

diff --git a/test-files/golden-tests/spec-mem-implicit-instantiation.html b/test-files/golden-tests/spec-mem-implicit-instantiation.html index ea89ba14d7..ec4363128a 100644 --- a/test-files/golden-tests/spec-mem-implicit-instantiation.html +++ b/test-files/golden-tests/spec-mem-implicit-instantiation.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Types

- A + A - D + D @@ -44,10 +41,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -88,14 +82,14 @@

Types

- B + B - C + C @@ -119,7 +113,7 @@

Member Functions

- f + f @@ -131,12 +125,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

@@ -162,12 +153,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -206,7 +194,7 @@

Member Functions

- g + g @@ -218,12 +206,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::B::g

+

Function A::B::g

@@ -249,12 +234,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::C

+

Class A::C

@@ -293,7 +275,7 @@

Member Functions

- h + h @@ -305,12 +287,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::C::h

+

Function A::C::h

@@ -336,19 +315,7 @@

Synopsis

- -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - - -[#[object Object]] - -
+

Class D

@@ -388,7 +355,7 @@

Types

- E + E @@ -400,12 +367,9 @@

Types

- -[#[object Object]] - -
+
-

Class D::E

+

Class D::E

@@ -444,7 +408,7 @@

Member Functions

- k + k @@ -456,12 +420,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function D::E::k

+

Function D::E::k

@@ -487,9 +448,6 @@

Synopsis

- -[#[object Object]] -

Created with MrDocs

diff --git a/test-files/golden-tests/static-data-def-constexpr.html b/test-files/golden-tests/static-data-def-constexpr.html index 577c34ff57..68d4321b9d 100644 --- a/test-files/golden-tests/static-data-def-constexpr.html +++ b/test-files/golden-tests/static-data-def-constexpr.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Types

- S + S - T + T @@ -44,10 +41,7 @@

Types

- -[#[object Object]] - -
+

Class S

@@ -87,7 +81,7 @@

Static Data Members

- s + s @@ -99,12 +93,9 @@

Static Data Members

- -[#[object Object]] - -
+
-

S::s

+

S::s

@@ -123,15 +114,12 @@

Synopsis

             constexpr
 static
-S const s = S{};
+S const s = S{};
         
- -[#[object Object]] - -
+

Class T

@@ -171,7 +159,7 @@

Static Data Members

- t + t @@ -183,12 +171,9 @@

Static Data Members

- -[#[object Object]] - -
+
-

T::t

+

T::t

diff --git a/test-files/golden-tests/static-data-def.html b/test-files/golden-tests/static-data-def.html index 78bb08e7e2..749c41967b 100644 --- a/test-files/golden-tests/static-data-def.html +++ b/test-files/golden-tests/static-data-def.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Types

- A + A - B + B @@ -58,7 +55,7 @@

Functions

- f + f @@ -68,10 +65,7 @@

Functions

- -[#[object Object]] - -
+

Class A

@@ -112,56 +106,56 @@

Static Data Members

- v0 + v0 - v1 + v1 - v2 + v2 - v3 + v3 - v4 + v4 - v5 + v5 - v6 + v6 - v7 + v7 @@ -173,12 +167,9 @@

Static Data Members

- -[#[object Object]] - -
+
-

A::v0

+

A::v0

@@ -201,12 +192,9 @@

Synopsis

- -[#[object Object]] - -
+
-

A::v1

+

A::v1

@@ -229,12 +217,9 @@

Synopsis

- -[#[object Object]] - -
+
-

A::v2

+

A::v2

@@ -258,12 +243,9 @@

Synopsis

- -[#[object Object]] - -
+
-

A::v3

+

A::v3

@@ -286,12 +268,9 @@

Synopsis

- -[#[object Object]] - -
+
-

A::v4

+

A::v4

@@ -314,12 +293,9 @@

Synopsis

- -[#[object Object]] - -
+
-

A::v5

+

A::v5

@@ -342,12 +318,9 @@

Synopsis

- -[#[object Object]] - -
+
-

A::v6

+

A::v6

@@ -370,12 +343,9 @@

Synopsis

- -[#[object Object]] - -
+
-

A::v7

+

A::v7

@@ -399,10 +369,7 @@

Synopsis

- -[#[object Object]] - -
+

Class B

@@ -442,14 +409,14 @@

Static Data Members

- x0 + x0 - x1 + x1 @@ -461,12 +428,9 @@

Static Data Members

- -[#[object Object]] - -
+
-

B::x0

+

B::x0

@@ -490,12 +454,9 @@

Synopsis

- -[#[object Object]] - -
+
-

B::x1

+

B::x1

@@ -520,10 +481,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f

diff --git a/test-files/golden-tests/static-data-template.html b/test-files/golden-tests/static-data-template.html index f95e6b3578..62257b989d 100644 --- a/test-files/golden-tests/static-data-template.html +++ b/test-files/golden-tests/static-data-template.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -81,21 +75,21 @@

Static Data Members

- x + x - x + x - x + x @@ -107,12 +101,9 @@

Static Data Members

- -[#[object Object]] - -
+
-

A::x

+

A::x

@@ -139,12 +130,9 @@

Synopsis

- -[#[object Object]] - -
+
-

A::x

+

A::x

@@ -164,17 +152,14 @@

Synopsis

template constexpr static -T const x = 1; +T const x = 1;
- -[#[object Object]] - -
+
-

A::x

+

A::x

@@ -194,7 +179,7 @@

Synopsis

template<> constexpr static -bool const x = 2; +bool const x = 2;
diff --git a/test-files/golden-tests/temp/c_mct_expl_inline.html b/test-files/golden-tests/temp/c_mct_expl_inline.html index a3c6d7fcb8..091f3bad6a 100644 --- a/test-files/golden-tests/temp/c_mct_expl_inline.html +++ b/test-files/golden-tests/temp/c_mct_expl_inline.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -80,14 +74,14 @@

Types

- B + B - B + B @@ -99,12 +93,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -143,7 +134,7 @@

Member Functions

- f + f @@ -155,12 +146,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::B::f

+

Function A::B::f

@@ -186,12 +174,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -209,7 +194,7 @@

Synopsis

             template<>
-struct B;
+struct B;
         
@@ -230,7 +215,7 @@

Member Functions

- g + g @@ -242,12 +227,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::B::g

+

Function A::B::g

diff --git a/test-files/golden-tests/temp/c_mct_expl_outside.html b/test-files/golden-tests/temp/c_mct_expl_outside.html index 8c8792fa4b..95f3f2bb75 100644 --- a/test-files/golden-tests/temp/c_mct_expl_outside.html +++ b/test-files/golden-tests/temp/c_mct_expl_outside.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -80,14 +74,14 @@

Types

- B + B - B + B @@ -99,12 +93,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -143,7 +134,7 @@

Member Functions

- f + f @@ -155,12 +146,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::B::f

+

Function A::B::f

@@ -186,12 +174,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -209,7 +194,7 @@

Synopsis

             template<>
-struct B;
+struct B;
         
@@ -230,7 +215,7 @@

Member Functions

- g + g @@ -242,12 +227,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::B::g

+

Function A::B::g

diff --git a/test-files/golden-tests/temp/c_mft_expl_inline.html b/test-files/golden-tests/temp/c_mft_expl_inline.html index e5cac3a2b9..642aaa5207 100644 --- a/test-files/golden-tests/temp/c_mft_expl_inline.html +++ b/test-files/golden-tests/temp/c_mft_expl_inline.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -80,7 +74,7 @@

Member Functions

- f + f @@ -92,9 +86,9 @@

Member Functions

-
+
-

Overload set A::f

+

Overload set A::f

Members

@@ -104,24 +98,21 @@

Members

template
 void
 f();
-» more... +» more...

template<>
 void
-f();
-» more... +f(); +» more...
- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

@@ -148,12 +139,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

@@ -172,7 +160,7 @@

Synopsis

             template<>
 void
-f();
+f();
         
diff --git a/test-files/golden-tests/temp/c_mft_expl_outside.html b/test-files/golden-tests/temp/c_mft_expl_outside.html index aeb51d005c..53332f688f 100644 --- a/test-files/golden-tests/temp/c_mft_expl_outside.html +++ b/test-files/golden-tests/temp/c_mft_expl_outside.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -80,7 +74,7 @@

Member Functions

- f + f @@ -92,9 +86,9 @@

Member Functions

-
+
-

Overload set A::f

+

Overload set A::f

Members

@@ -104,24 +98,21 @@

Members

template
 void
 f();
-» more... +» more...

template<>
 void
-f();
-» more... +f(); +» more...
- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

@@ -148,12 +139,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

@@ -172,7 +160,7 @@

Synopsis

             template<>
 void
-f();
+f();
         
diff --git a/test-files/golden-tests/temp/ct_expl.html b/test-files/golden-tests/temp/ct_expl.html index bec7ec5608..4f9c645fc7 100644 --- a/test-files/golden-tests/temp/ct_expl.html +++ b/test-files/golden-tests/temp/ct_expl.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Types

- A + A - A + A @@ -44,10 +41,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -88,7 +82,7 @@

Member Functions

- f + f @@ -100,12 +94,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

@@ -131,10 +122,7 @@

Synopsis

- -[#[object Object]] - -
+

Class A

@@ -154,7 +142,7 @@

Synopsis

             template<>
-struct A;
+struct A;
         
@@ -175,7 +163,7 @@

Member Functions

- g + g @@ -187,12 +175,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::g

+

Function A::g

diff --git a/test-files/golden-tests/temp/ct_mc.html b/test-files/golden-tests/temp/ct_mc.html index e7a0ce9a06..7ba2821b5c 100644 --- a/test-files/golden-tests/temp/ct_mc.html +++ b/test-files/golden-tests/temp/ct_mc.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -81,7 +75,7 @@

Types

- B + B @@ -93,12 +87,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -136,7 +127,7 @@

Member Functions

- f + f @@ -148,12 +139,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::B::f

+

Function A::B::f

diff --git a/test-files/golden-tests/temp/ct_mc_expl_outside.html b/test-files/golden-tests/temp/ct_mc_expl_outside.html index dab4dc8f01..61817386b0 100644 --- a/test-files/golden-tests/temp/ct_mc_expl_outside.html +++ b/test-files/golden-tests/temp/ct_mc_expl_outside.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -81,7 +75,7 @@

Types

- B + B @@ -93,12 +87,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -136,7 +127,7 @@

Member Functions

- f + f @@ -148,12 +139,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::B::f

+

Function A::B::f

@@ -179,9 +167,6 @@

Synopsis

- -[#[object Object]] -

Created with MrDocs

diff --git a/test-files/golden-tests/temp/ct_mct.html b/test-files/golden-tests/temp/ct_mct.html index 33b5b00204..faa641ec40 100644 --- a/test-files/golden-tests/temp/ct_mct.html +++ b/test-files/golden-tests/temp/ct_mct.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -81,7 +75,7 @@

Types

- B + B @@ -93,12 +87,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -137,7 +128,7 @@

Member Functions

- f + f @@ -149,12 +140,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::B::f

+

Function A::B::f

diff --git a/test-files/golden-tests/temp/ct_mct_expl_inline.html b/test-files/golden-tests/temp/ct_mct_expl_inline.html index 4986ea5a79..572b4b033c 100644 --- a/test-files/golden-tests/temp/ct_mct_expl_inline.html +++ b/test-files/golden-tests/temp/ct_mct_expl_inline.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -81,14 +75,14 @@

Types

- B + B - B + B @@ -100,12 +94,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -144,7 +135,7 @@

Member Functions

- f + f @@ -156,12 +147,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::B::f

+

Function A::B::f

@@ -187,12 +175,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -210,7 +195,7 @@

Synopsis

             template<>
-struct B;
+struct B;
         
@@ -231,7 +216,7 @@

Member Functions

- g + g @@ -243,12 +228,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::B::g

+

Function A::B::g

diff --git a/test-files/golden-tests/temp/ct_mct_expl_outside.html b/test-files/golden-tests/temp/ct_mct_expl_outside.html index 6089f838c9..85e435712a 100644 --- a/test-files/golden-tests/temp/ct_mct_expl_outside.html +++ b/test-files/golden-tests/temp/ct_mct_expl_outside.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -81,7 +75,7 @@

Types

- B + B @@ -93,12 +87,9 @@

Types

- -[#[object Object]] - -
+
-

Class A::B

+

Class A::B

@@ -137,7 +128,7 @@

Member Functions

- f + f @@ -149,12 +140,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::B::f

+

Function A::B::f

@@ -180,9 +168,6 @@

Synopsis

- -[#[object Object]] -

Created with MrDocs

diff --git a/test-files/golden-tests/temp/ct_mf.html b/test-files/golden-tests/temp/ct_mf.html index cfe60cf00c..754f8aa3d2 100644 --- a/test-files/golden-tests/temp/ct_mf.html +++ b/test-files/golden-tests/temp/ct_mf.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -81,7 +75,7 @@

Member Functions

- f + f @@ -93,12 +87,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

diff --git a/test-files/golden-tests/temp/ct_mf_expl_outside.html b/test-files/golden-tests/temp/ct_mf_expl_outside.html index c0254412f5..47d6141f9f 100644 --- a/test-files/golden-tests/temp/ct_mf_expl_outside.html +++ b/test-files/golden-tests/temp/ct_mf_expl_outside.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -81,7 +75,7 @@

Member Functions

- f + f @@ -93,12 +87,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

@@ -124,9 +115,6 @@

Synopsis

- -[#[object Object]] -

Created with MrDocs

diff --git a/test-files/golden-tests/temp/ct_mft.html b/test-files/golden-tests/temp/ct_mft.html index ed697e41db..b2935b0222 100644 --- a/test-files/golden-tests/temp/ct_mft.html +++ b/test-files/golden-tests/temp/ct_mft.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -81,7 +75,7 @@

Member Functions

- f + f @@ -93,12 +87,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

diff --git a/test-files/golden-tests/temp/ct_mft_expl_inline.html b/test-files/golden-tests/temp/ct_mft_expl_inline.html index c03553bdc7..95db67e006 100644 --- a/test-files/golden-tests/temp/ct_mft_expl_inline.html +++ b/test-files/golden-tests/temp/ct_mft_expl_inline.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -81,7 +75,7 @@

Member Functions

- f + f @@ -93,9 +87,9 @@

Member Functions

-
+
-

Overload set A::f

+

Overload set A::f

Members

@@ -105,24 +99,21 @@

Members

template
 void
 f();
-» more... +» more...

template<>
 void
-f();
-» more... +f(); +» more...
- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

@@ -149,12 +140,9 @@

Synopsis

- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

@@ -173,7 +161,7 @@

Synopsis

             template<>
 void
-f();
+f();
         
diff --git a/test-files/golden-tests/temp/ct_mft_expl_outside.html b/test-files/golden-tests/temp/ct_mft_expl_outside.html index 02dedf12f5..d9c23e7404 100644 --- a/test-files/golden-tests/temp/ct_mft_expl_outside.html +++ b/test-files/golden-tests/temp/ct_mft_expl_outside.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- A + A @@ -37,10 +34,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -81,7 +75,7 @@

Member Functions

- f + f @@ -93,12 +87,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

@@ -125,9 +116,6 @@

Synopsis

- -[#[object Object]] -

Created with MrDocs

diff --git a/test-files/golden-tests/temp/ft_expl.html b/test-files/golden-tests/temp/ft_expl.html index f6ff07970c..d526b6f90f 100644 --- a/test-files/golden-tests/temp/ft_expl.html +++ b/test-files/golden-tests/temp/ft_expl.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Functions

- f + f @@ -37,7 +34,7 @@

Functions

-
+

Overload set f

@@ -49,22 +46,19 @@

Members

template
 void
 f();
-» more... +» more...

template<>
 void
-f();
-» more... +f(); +» more...
- -[#[object Object]] - -
+

Function f

@@ -93,10 +87,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f

@@ -117,7 +108,7 @@

Synopsis

             template<>
 void
-f();
+f();
         
diff --git a/test-files/golden-tests/type-resolution.html b/test-files/golden-tests/type-resolution.html index 10d2a5a5fc..85fd23e39c 100644 --- a/test-files/golden-tests/type-resolution.html +++ b/test-files/golden-tests/type-resolution.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,35 +24,35 @@

Types

- A + A - B + B - C + C - D + D - E + E @@ -79,315 +76,315 @@

Functions

- f0 + f0 - f1 + f1 - f2 + f2 - f3 + f3 - f4 + f4 - f5 + f5 - f6 + f6 - f7 + f7 - f8 + f8 - g0 + g0 - g1 + g1 - g2 + g2 - g3 + g3 - g4 + g4 - g5 + g5 - g6 + g6 - g7 + g7 - g8 + g8 - h0 + h0 - h1 + h1 - h2 + h2 - h3 + h3 - h4 + h4 - h5 + h5 - h6 + h6 - h7 + h7 - h8 + h8 - i0 + i0 - i1 + i1 - i2 + i2 - i3 + i3 - i4 + i4 - i5 + i5 - i6 + i6 - i7 + i7 - i8 + i8 - j0 + j0 - j1 + j1 - j2 + j2 - j3 + j3 - j4 + j4 - j5 + j5 - j6 + j6 - j7 + j7 - j8 + j8 @@ -397,10 +394,7 @@

Functions

- -[#[object Object]] - -
+

Class A

@@ -428,10 +422,7 @@

Synopsis

- -[#[object Object]] - -
+

Class B

@@ -462,10 +453,7 @@

Synopsis

- -[#[object Object]] - -
+

C

@@ -484,15 +472,12 @@

Synopsis

-            using C = A;
+            using C = A;
         
- -[#[object Object]] - -
+

D

@@ -511,15 +496,12 @@

Synopsis

-            using D = B;
+            using D = B;
         
- -[#[object Object]] - -
+

E

@@ -539,15 +521,12 @@

Synopsis

             template
-using E = B;
+using E = B;
         
- -[#[object Object]] - -
+

Function f0

@@ -567,7 +546,7 @@

Synopsis

             void
-f0(A);
+f0(A);
         
@@ -575,10 +554,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f1

@@ -598,7 +574,7 @@

Synopsis

             void
-f1(A const);
+f1(A const);
         
@@ -606,10 +582,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f2

@@ -629,7 +602,7 @@

Synopsis

             void
-f2(A&);
+f2(A&);
         
@@ -637,10 +610,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f3

@@ -660,7 +630,7 @@

Synopsis

             void
-f3(A const&);
+f3(A const&);
         
@@ -668,10 +638,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f4

@@ -691,7 +658,7 @@

Synopsis

             void
-f4(A*);
+f4(A*);
         
@@ -699,10 +666,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f5

@@ -722,7 +686,7 @@

Synopsis

             void
-f5(A const*);
+f5(A const*);
         
@@ -730,10 +694,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f6

@@ -753,7 +714,7 @@

Synopsis

             void
-f6(A**);
+f6(A**);
         
@@ -761,10 +722,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f7

@@ -784,7 +742,7 @@

Synopsis

             void
-f7(A const**);
+f7(A const**);
         
@@ -792,10 +750,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f8

@@ -815,7 +770,7 @@

Synopsis

             void
-f8(A const const**);
+f8(A const const**);
         
@@ -823,10 +778,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g0

@@ -846,7 +798,7 @@

Synopsis

             void
-g0(C);
+g0(C);
         
@@ -854,10 +806,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g1

@@ -877,7 +826,7 @@

Synopsis

             void
-g1(C const);
+g1(C const);
         
@@ -885,10 +834,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g2

@@ -908,7 +854,7 @@

Synopsis

             void
-g2(C&);
+g2(C&);
         
@@ -916,10 +862,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g3

@@ -939,7 +882,7 @@

Synopsis

             void
-g3(C const&);
+g3(C const&);
         
@@ -947,10 +890,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g4

@@ -970,7 +910,7 @@

Synopsis

             void
-g4(C*);
+g4(C*);
         
@@ -978,10 +918,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g5

@@ -1001,7 +938,7 @@

Synopsis

             void
-g5(C const*);
+g5(C const*);
         
@@ -1009,10 +946,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g6

@@ -1032,7 +966,7 @@

Synopsis

             void
-g6(C**);
+g6(C**);
         
@@ -1040,10 +974,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g7

@@ -1063,7 +994,7 @@

Synopsis

             void
-g7(C const**);
+g7(C const**);
         
@@ -1071,10 +1002,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g8

@@ -1094,7 +1022,7 @@

Synopsis

             void
-g8(C const const**);
+g8(C const const**);
         
@@ -1102,10 +1030,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h0

@@ -1125,7 +1050,7 @@

Synopsis

             void
-h0(B);
+h0(B);
         
@@ -1133,10 +1058,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h1

@@ -1156,7 +1078,7 @@

Synopsis

             void
-h1(B const);
+h1(B const);
         
@@ -1164,10 +1086,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h2

@@ -1187,7 +1106,7 @@

Synopsis

             void
-h2(B&);
+h2(B&);
         
@@ -1195,10 +1114,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h3

@@ -1218,7 +1134,7 @@

Synopsis

             void
-h3(B const&);
+h3(B const&);
         
@@ -1226,10 +1142,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h4

@@ -1249,7 +1162,7 @@

Synopsis

             void
-h4(B*);
+h4(B*);
         
@@ -1257,10 +1170,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h5

@@ -1280,7 +1190,7 @@

Synopsis

             void
-h5(B const*);
+h5(B const*);
         
@@ -1288,10 +1198,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h6

@@ -1311,7 +1218,7 @@

Synopsis

             void
-h6(B**);
+h6(B**);
         
@@ -1319,10 +1226,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h7

@@ -1342,7 +1246,7 @@

Synopsis

             void
-h7(B const**);
+h7(B const**);
         
@@ -1350,10 +1254,7 @@

Synopsis

- -[#[object Object]] - -
+

Function h8

@@ -1373,7 +1274,7 @@

Synopsis

             void
-h8(B const const**);
+h8(B const const**);
         
@@ -1381,10 +1282,7 @@

Synopsis

- -[#[object Object]] - -
+

Function i0

@@ -1404,7 +1302,7 @@

Synopsis

             void
-i0(D);
+i0(D);
         
@@ -1412,10 +1310,7 @@

Synopsis

- -[#[object Object]] - -
+

Function i1

@@ -1435,7 +1330,7 @@

Synopsis

             void
-i1(D const);
+i1(D const);
         
@@ -1443,10 +1338,7 @@

Synopsis

- -[#[object Object]] - -
+

Function i2

@@ -1466,7 +1358,7 @@

Synopsis

             void
-i2(D&);
+i2(D&);
         
@@ -1474,10 +1366,7 @@

Synopsis

- -[#[object Object]] - -
+

Function i3

@@ -1497,7 +1386,7 @@

Synopsis

             void
-i3(D const&);
+i3(D const&);
         
@@ -1505,10 +1394,7 @@

Synopsis

- -[#[object Object]] - -
+

Function i4

@@ -1528,7 +1414,7 @@

Synopsis

             void
-i4(D*);
+i4(D*);
         
@@ -1536,10 +1422,7 @@

Synopsis

- -[#[object Object]] - -
+

Function i5

@@ -1559,7 +1442,7 @@

Synopsis

             void
-i5(D const*);
+i5(D const*);
         
@@ -1567,10 +1450,7 @@

Synopsis

- -[#[object Object]] - -
+

Function i6

@@ -1590,7 +1470,7 @@

Synopsis

             void
-i6(D**);
+i6(D**);
         
@@ -1598,10 +1478,7 @@

Synopsis

- -[#[object Object]] - -
+

Function i7

@@ -1621,7 +1498,7 @@

Synopsis

             void
-i7(D const**);
+i7(D const**);
         
@@ -1629,10 +1506,7 @@

Synopsis

- -[#[object Object]] - -
+

Function i8

@@ -1652,7 +1526,7 @@

Synopsis

             void
-i8(D const const**);
+i8(D const const**);
         
@@ -1660,10 +1534,7 @@

Synopsis

- -[#[object Object]] - -
+

Function j0

@@ -1683,7 +1554,7 @@

Synopsis

             void
-j0(E);
+j0(E);
         
@@ -1691,10 +1562,7 @@

Synopsis

- -[#[object Object]] - -
+

Function j1

@@ -1714,7 +1582,7 @@

Synopsis

             void
-j1(E const);
+j1(E const);
         
@@ -1722,10 +1590,7 @@

Synopsis

- -[#[object Object]] - -
+

Function j2

@@ -1745,7 +1610,7 @@

Synopsis

             void
-j2(E&);
+j2(E&);
         
@@ -1753,10 +1618,7 @@

Synopsis

- -[#[object Object]] - -
+

Function j3

@@ -1776,7 +1638,7 @@

Synopsis

             void
-j3(E const&);
+j3(E const&);
         
@@ -1784,10 +1646,7 @@

Synopsis

- -[#[object Object]] - -
+

Function j4

@@ -1807,7 +1666,7 @@

Synopsis

             void
-j4(E*);
+j4(E*);
         
@@ -1815,10 +1674,7 @@

Synopsis

- -[#[object Object]] - -
+

Function j5

@@ -1838,7 +1694,7 @@

Synopsis

             void
-j5(E const*);
+j5(E const*);
         
@@ -1846,10 +1702,7 @@

Synopsis

- -[#[object Object]] - -
+

Function j6

@@ -1869,7 +1722,7 @@

Synopsis

             void
-j6(E**);
+j6(E**);
         
@@ -1877,10 +1730,7 @@

Synopsis

- -[#[object Object]] - -
+

Function j7

@@ -1900,7 +1750,7 @@

Synopsis

             void
-j7(E const**);
+j7(E const**);
         
@@ -1908,10 +1758,7 @@

Synopsis

- -[#[object Object]] - -
+

Function j8

@@ -1931,7 +1778,7 @@

Synopsis

             void
-j8(E const const**);
+j8(E const const**);
         
diff --git a/test-files/golden-tests/union.html b/test-files/golden-tests/union.html index 76318a47ea..45410b1253 100644 --- a/test-files/golden-tests/union.html +++ b/test-files/golden-tests/union.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,14 +24,14 @@

Types

- A + A - B + B @@ -44,10 +41,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -87,14 +81,14 @@

Data Members

- x [variant member] + x [variant member] - y [variant member] + y [variant member] @@ -106,12 +100,9 @@

Data Members

- -[#[object Object]] - -
+
-

A::x

+

A::x

@@ -133,12 +124,9 @@

Synopsis

- -[#[object Object]] - -
+
-

A::y

+

A::y

@@ -160,10 +148,7 @@

Synopsis

- -[#[object Object]] - -
+

Class B

@@ -203,21 +188,21 @@

Data Members

- x [variant member] + x [variant member] - y [variant member] + y [variant member] - z + z @@ -229,12 +214,9 @@

Data Members

- -[#[object Object]] - -
+
-

B::x

+

B::x

@@ -256,12 +238,9 @@

Synopsis

- -[#[object Object]] - -
+
-

B::y

+

B::y

@@ -283,12 +262,9 @@

Synopsis

- -[#[object Object]] - -
+
-

B::z

+

B::z

diff --git a/test-files/golden-tests/using-1.html b/test-files/golden-tests/using-1.html index 99e790d6f7..8f6b26de62 100644 --- a/test-files/golden-tests/using-1.html +++ b/test-files/golden-tests/using-1.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Namespaces

- LongName + LongName @@ -37,10 +34,7 @@

Namespaces

- -[#[object Object]] - -
+

Namespace LongName

diff --git a/test-files/golden-tests/using-2.html b/test-files/golden-tests/using-2.html index ea775cdf95..28e831c364 100644 --- a/test-files/golden-tests/using-2.html +++ b/test-files/golden-tests/using-2.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Namespaces

- LongName + LongName @@ -37,10 +34,7 @@

Namespaces

- -[#[object Object]] - -
+

Namespace LongName

@@ -61,14 +55,14 @@

Types

- S1 + S1 - S2 + S2 @@ -78,10 +72,7 @@

Types

- -[#[object Object]] - -
+

Class S1

@@ -109,10 +100,7 @@

Synopsis

- -[#[object Object]] - -
+

Class S2

@@ -140,10 +128,7 @@

Synopsis

- -[#[object Object]] - -
+

Using Declaration: S1

@@ -162,7 +147,7 @@

Synopsis

-            using LongName::S1
+            using LongName::S1
 ;
         
@@ -181,10 +166,7 @@

Introduced Symbols

- -[#[object Object]] - -
+

Using Declaration: S2

@@ -203,7 +185,7 @@

Synopsis

-            using LongName::S2
+            using LongName::S2
 ;
         
diff --git a/test-files/golden-tests/using-3.html b/test-files/golden-tests/using-3.html index 1fc6af4bb3..50690af100 100644 --- a/test-files/golden-tests/using-3.html +++ b/test-files/golden-tests/using-3.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,21 +24,21 @@

Types

- A + A - B + B - C + C @@ -51,10 +48,7 @@

Types

- -[#[object Object]] - -
+

Class A

@@ -94,7 +88,7 @@

Member Functions

- f + f @@ -106,12 +100,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function A::f

+

Function A::f

@@ -137,10 +128,7 @@

Synopsis

- -[#[object Object]] - -
+

Class B

@@ -180,7 +168,7 @@

Member Functions

- f + f @@ -192,12 +180,9 @@

Member Functions

- -[#[object Object]] - -
+
-

Function B::f

+

Function B::f

@@ -223,10 +208,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C

@@ -246,8 +228,8 @@

Synopsis

             struct C
-    : A
-    , B;
+    : A
+    , B;
         
@@ -268,7 +250,7 @@

Member Functions

- f + f @@ -291,14 +273,14 @@

Using Declarations

- f + f - f + f @@ -310,10 +292,7 @@

Using Declarations

- -[#[object Object]] - -
+

Using Declaration: f

@@ -332,7 +311,7 @@

Synopsis

-            using A::f
+            using A::f
 ;
         
@@ -351,10 +330,7 @@

Introduced Symbols

- -[#[object Object]] - -
+

Using Declaration: f

@@ -373,7 +349,7 @@

Synopsis

-            using B::f
+            using B::f
 ;
         
diff --git a/test-files/golden-tests/utf-8.html b/test-files/golden-tests/utf-8.html index 0815ae2b0b..71ef72615d 100644 --- a/test-files/golden-tests/utf-8.html +++ b/test-files/golden-tests/utf-8.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Functions

- Христос_воскрес + Христос_воскрес @@ -37,10 +34,7 @@

Functions

- -[#[object Object]] - -
+

Function Христос_воскрес

diff --git a/test-files/golden-tests/var-template.html b/test-files/golden-tests/var-template.html index 0c18241a0e..65d1cf180c 100644 --- a/test-files/golden-tests/var-template.html +++ b/test-files/golden-tests/var-template.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,7 +24,7 @@

Types

- B + B @@ -51,21 +48,21 @@

Variables

- A + A - A + A - A + A @@ -75,10 +72,7 @@

Variables

- -[#[object Object]] - -
+

A

@@ -103,10 +97,7 @@

Synopsis

- -[#[object Object]] - -
+

A

@@ -126,15 +117,12 @@

Synopsis

             template<>
-unsigned int A = 0;
+unsigned int A = 0;
         
- -[#[object Object]] - -
+

A

@@ -154,15 +142,12 @@

Synopsis

             template
-unsigned int A = sizeof(T);
+unsigned int A = sizeof(T);
         
- -[#[object Object]] - -
+

Class B

@@ -202,21 +187,21 @@

Static Data Members

- C + C - C + C - C + C @@ -228,12 +213,9 @@

Static Data Members

- -[#[object Object]] - -
+
-

B::C

+

B::C

@@ -257,12 +239,9 @@

Synopsis

- -[#[object Object]] - -
+
-

B::C

+

B::C

@@ -281,17 +260,14 @@

Synopsis

             template<>
 static
-unsigned int C = -1;
+unsigned int C = -1;
         
- -[#[object Object]] - -
+
-

B::C

+

B::C

@@ -310,7 +286,7 @@

Synopsis

             template
 static
-unsigned int C = sizeof(T);
+unsigned int C = sizeof(T);
         
diff --git a/test-files/golden-tests/variadic-function.html b/test-files/golden-tests/variadic-function.html index b4177513c8..be3c041ede 100644 --- a/test-files/golden-tests/variadic-function.html +++ b/test-files/golden-tests/variadic-function.html @@ -3,10 +3,7 @@

Reference

- -[#[object Object]] - -
+

Global namespace

@@ -27,21 +24,21 @@

Types

- C + C - T + T - U + U @@ -65,14 +62,14 @@

Functions

- f + f - g + g @@ -82,10 +79,7 @@

Functions

- -[#[object Object]] - -
+

T

@@ -109,10 +103,7 @@

Synopsis

- -[#[object Object]] - -
+

U

@@ -136,10 +127,7 @@

Synopsis

- -[#[object Object]] - -
+

Function f

@@ -167,10 +155,7 @@

Synopsis

- -[#[object Object]] - -
+

Function g

@@ -198,10 +183,7 @@

Synopsis

- -[#[object Object]] - -
+

Class C

From bc91b811c52bb817dd2cad3e0eb8d7d5c73375fe Mon Sep 17 00:00:00 2001 From: alandefreitas Date: Tue, 12 Nov 2024 19:08:24 -0300 Subject: [PATCH 2/5] refactor: deduction guides for CTAD warnings --- src/lib/Dom/LazyObject.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/Dom/LazyObject.hpp b/src/lib/Dom/LazyObject.hpp index d20a0be60f..f078933b88 100644 --- a/src/lib/Dom/LazyObject.hpp +++ b/src/lib/Dom/LazyObject.hpp @@ -266,6 +266,10 @@ namespace detail } } }; + + // Deduction guide + template + LazyObjectIO(MapFn, DeferFn = {}) -> LazyObjectIO; } template From ce1394ad18c87ab07812b6e6589564083508fc8f Mon Sep 17 00:00:00 2001 From: alandefreitas Date: Tue, 12 Nov 2024 19:09:04 -0300 Subject: [PATCH 3/5] refactor: remove unused alias --- src/lib/Gen/hbs/HandlebarsCorpus.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/Gen/hbs/HandlebarsCorpus.cpp b/src/lib/Gen/hbs/HandlebarsCorpus.cpp index 5873a49e76..1bebc80566 100644 --- a/src/lib/Gen/hbs/HandlebarsCorpus.cpp +++ b/src/lib/Gen/hbs/HandlebarsCorpus.cpp @@ -172,7 +172,6 @@ getJavadoc( else if constexpr (std::ranges::range) { // Range value type - using U = std::ranges::range_value_t; for(doc::Node const* t : I) s += toStringFn(*this, *t); } From a3864970b346bff387ce55af1882ba86ec6a14f4 Mon Sep 17 00:00:00 2001 From: alandefreitas Date: Tue, 12 Nov 2024 19:09:42 -0300 Subject: [PATCH 4/5] refactor(LazyObject): initialize result --- src/lib/Dom/LazyObject.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/Dom/LazyObject.hpp b/src/lib/Dom/LazyObject.hpp index f078933b88..4d5cc5d324 100644 --- a/src/lib/Dom/LazyObject.hpp +++ b/src/lib/Dom/LazyObject.hpp @@ -278,7 +278,7 @@ std::size_t LazyObjectImpl:: size() const { - std::size_t result; + std::size_t result = 0; detail::LazyObjectIO io( [&result, this](std::string_view name, auto const& /* value or deferred */) { From 5e12358f2340880ec76e0df923c00635db5ee1ab Mon Sep 17 00:00:00 2001 From: alandefreitas Date: Tue, 12 Nov 2024 19:34:01 -0300 Subject: [PATCH 5/5] refactor(Template): remove unused parameter --- src/lib/Metadata/Template.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/Metadata/Template.cpp b/src/lib/Metadata/Template.cpp index 0aa7f36a30..5c845db373 100644 --- a/src/lib/Metadata/Template.cpp +++ b/src/lib/Metadata/Template.cpp @@ -119,11 +119,11 @@ tag_invoke( dom::LazyObjectMapTag, IO& io, TArg const& I, - DomCorpus const* domCorpus) + DomCorpus const*) { io.map("kind", toString(I.Kind)); io.map("is-pack", I.IsPackExpansion); - visit(I, [domCorpus, &io](const T& t) { + visit(I, [&io](const T& t) { if constexpr(T::isType()) { io.map("type", t.Type);