diff --git a/docs/modules/ROOT/pages/config-file.adoc b/docs/modules/ROOT/pages/config-file.adoc index 8d5c669f1e..85ea4a6811 100644 --- a/docs/modules/ROOT/pages/config-file.adoc +++ b/docs/modules/ROOT/pages/config-file.adoc @@ -200,7 +200,7 @@ The rules for whitelisting symbols (`include-symbols`, `implementation-defined`, 4. The symbol is a child of a literal pattern representing a namespace. ** For instance, the literal pattern `std` matches `std::filesystem::path::iterator` because `std` is a literal pattern matching a namespace. In other words, these literal patterns represent the namespace and its subnamespaces as if the pattern were `std::**`. -For exclusion rules, the symbol must strictly match the pattern to be excluded. +For exclusion rules, the symbol must strictly match the pattern to be excluded. If a scope is escaped by a pattern, all symbols in that scope are also excluded. [#config-options-reference] == Reference diff --git a/docs/mrdocs.schema.json b/docs/mrdocs.schema.json index c10ff4a6cf..cfe9784819 100644 --- a/docs/mrdocs.schema.json +++ b/docs/mrdocs.schema.json @@ -160,12 +160,12 @@ }, "inherit-base-members": { "default": "copy-dependencies", - "description": "Determine how derived classes inherit members of base classes. When set to `never`, derived classes do not inherit members of base classes and only the relationship is stored. When set to `reference`, derived classes list members of base classes but references are still linked to the base class. When set to `copy`, a copy is created for each base symbol as if it was declared in the derived class. If the base class is a dependency, the extraction mode is copied from the new parent. When set to `copy-dependencies`, a reference is created by default and a copy is created when the base class is a dependency.", + "description": "Determine how derived classes inherit members of base classes. When set to `never`, derived classes do not inherit members of base classes and only the relationship is stored. When set to `reference`, derived classes list members of base classes but references are still linked to the base class. When set to `copy-dependencies`, a reference is created by default and a copy is created when the base class is a dependency. When set to `copy-all`, a copy is created for each base symbol as if it was declared in the derived class. If the base class is a dependency, the extraction mode is copied from the new parent.", "enum": [ "never", "reference", - "copy", - "copy-dependencies" + "copy-dependencies", + "copy-all" ], "title": "Determine how derived classes inherit base members" }, diff --git a/share/mrdocs/addons/generator/common/partials/symbol/signature/function.hbs b/share/mrdocs/addons/generator/common/partials/symbol/signature/function.hbs index 412346c13e..3c40f6bf3e 100644 --- a/share/mrdocs/addons/generator/common/partials/symbol/signature/function.hbs +++ b/share/mrdocs/addons/generator/common/partials/symbol/signature/function.hbs @@ -19,7 +19,7 @@ {{/unless}}{{>type/declarator type decl-name=name~}} {{#if default}} = {{default}}{{/if~}} {{#unless @last}},{{/unless~}} -{{/each~}}{{#if isVariadic}}{{#if params}}, {{/if}}...{{/if}}) +{{/each~}}{{#if isVariadic}}{{#if params}}, {{/if}}{{ str "..." }}{{/if}}) {{~#if isConst}} const{{/if~}} {{#if isVolatile}} volatile{{/if~}} {{#if refQualifier}} {{refQualifier}}{{/if~}} diff --git a/share/mrdocs/addons/generator/common/partials/symbol/signatures.hbs b/share/mrdocs/addons/generator/common/partials/symbol/signatures.hbs index 7608f16ac4..466a201e00 100644 --- a/share/mrdocs/addons/generator/common/partials/symbol/signatures.hbs +++ b/share/mrdocs/addons/generator/common/partials/symbol/signatures.hbs @@ -23,7 +23,7 @@ {{> symbol/signature member link=member}} {{/markup/code-block}} -{{#> markup/span class="small" }}{{#> markup/a href=member.url }}{{#>markup/em }}» more...{{/markup/em}}{{/markup/a}}{{/markup/span}} +{{#> markup/span class="small" }}{{#> markup/a href=member.url }}{{#>markup/em }}» more{{ str "..." }}{{/markup/em}}{{/markup/a}}{{/markup/span}} {{/each}} {{/if}} \ No newline at end of file diff --git a/share/mrdocs/addons/generator/common/partials/template/arg.hbs b/share/mrdocs/addons/generator/common/partials/template/arg.hbs index f9ee7845d2..d6811ad295 100644 --- a/share/mrdocs/addons/generator/common/partials/template/arg.hbs +++ b/share/mrdocs/addons/generator/common/partials/template/arg.hbs @@ -22,5 +22,5 @@ {{#if (and template (not nolink))}}{{#>markup/a href=template.url}}{{name}}{{/markup/a}}{{else~}}{{name~}}{{/if~}} {{/if~}} {{~#if is-pack~}} - ... + {{ str "..." }} {{~/if~}} diff --git a/share/mrdocs/addons/generator/common/partials/template/param.hbs b/share/mrdocs/addons/generator/common/partials/template/param.hbs index 156e0827d8..fcbf49794f 100644 --- a/share/mrdocs/addons/generator/common/partials/template/param.hbs +++ b/share/mrdocs/addons/generator/common/partials/template/param.hbs @@ -15,14 +15,14 @@ --}} {{#if (eq kind "type")~}} {{#if constraint}}{{>symbol/name-info constraint }}{{else}}{{key}}{{/if~}} - {{#if is-pack}}...{{/if~}} + {{#if is-pack}}{{ str "..." }}{{/if~}} {{#if name}} {{name}}{{/if~}} {{#if default}} = {{>template/arg default~}}{{/if~}} {{else if (eq kind "non-type")~}} - {{>type/declarator type decl-name=name}}{{#if is-pack}}...{{/if~}} + {{>type/declarator type decl-name=name}}{{#if is-pack}}{{ str "..." }}{{/if~}} {{#if default}} = {{>template/arg default~}}{{/if~}} {{else if (eq kind "template")~}} - {{>template/head}} typename{{#if is-pack}}...{{/if~}} + {{>template/head}} typename{{#if is-pack}}{{ str "..." }}{{/if~}} {{#if name}} {{name}}{{/if~}} {{#if default}} = {{>template/arg default~}}{{/if~}} {{/if}} \ No newline at end of file diff --git a/share/mrdocs/addons/generator/common/partials/type/declarator-prefix.hbs b/share/mrdocs/addons/generator/common/partials/type/declarator-prefix.hbs index 508f570ff8..46a61a4e55 100644 --- a/share/mrdocs/addons/generator/common/partials/type/declarator-prefix.hbs +++ b/share/mrdocs/addons/generator/common/partials/type/declarator-prefix.hbs @@ -60,5 +60,5 @@ {{~/if~}} {{#if is-pack~}} {{! Pack declarator prefix includes the ellipsis ~}} - ... + {{ str "..." }} {{~/if}} \ No newline at end of file diff --git a/share/mrdocs/addons/generator/common/partials/type/declarator-suffix.hbs b/share/mrdocs/addons/generator/common/partials/type/declarator-suffix.hbs index e45af5a0bb..fdb04fac75 100644 --- a/share/mrdocs/addons/generator/common/partials/type/declarator-suffix.hbs +++ b/share/mrdocs/addons/generator/common/partials/type/declarator-suffix.hbs @@ -35,7 +35,7 @@ {{~#unless @last}}, {{/unless~}} {{/each~}} {{! Include final "..." for variadic functions ~}} - {{#if is-variadic}}{{#if param-types}}, {{/if}}...{{/if}}){{!~}} + {{#if is-variadic}}{{#if param-types}}, {{/if}}{{ str "..." }}{{/if}}){{!~}} {{! cv-qualifiers as literal strings ~}} {{~#if cv-qualifiers}} {{cv-qualifiers}}{{/if~}} {{! Refqualifiers as "&" or "&&" ~}} diff --git a/src/lib/AST/ASTVisitor.cpp b/src/lib/AST/ASTVisitor.cpp index eb86623f23..723960125b 100644 --- a/src/lib/AST/ASTVisitor.cpp +++ b/src/lib/AST/ASTVisitor.cpp @@ -2821,12 +2821,29 @@ checkSymbolFilters(Decl const* D, bool const AllowParent) // We should check the exclusion filters first. If a symbol is // explicitly excluded, there's nothing else to check. - if (!config_->excludeSymbols.empty() && - checkSymbolFiltersImpl(config_->excludeSymbols, symbolName)) + if (!config_->excludeSymbols.empty()) { - ExtractionInfo const res{ExtractionMode::Dependency, ExtractionMatchType::Strict}; - updateCache(res); - return res; + if (checkSymbolFiltersImpl(config_->excludeSymbols, symbolName)) + { + ExtractionInfo const res{ExtractionMode::Dependency, ExtractionMatchType::Strict}; + updateCache(res); + return res; + } + // If the parent scope is excluded, the symbol should also be excluded + // since it would not be possible to refer to this member. + if (AllowParent) + { + if (Decl const* P = getParent(D)) + { + if (auto const [mode, kind] = checkSymbolFilters(P); + mode == ExtractionMode::Dependency) + { + ExtractionInfo const res = {mode, ExtractionMatchType::StrictParent}; + updateCache(res); + return res; + } + } + } } // If not excluded, we should check the filters in this order: @@ -2923,7 +2940,7 @@ checkSymbolFilters(Decl const* D, bool const AllowParent) // prefixes that can potentially include children, but // we have to check if any children actually matches // the pattern strictly. - DeclContext const* DC = cast(D); + auto const* DC = cast(D); auto childrenMode = ExtractionMode::Dependency; for (auto* M : DC->decls()) { diff --git a/src/lib/Lib/ConfigOptions.json b/src/lib/Lib/ConfigOptions.json index e6329ad841..3fb9943cac 100644 --- a/src/lib/Lib/ConfigOptions.json +++ b/src/lib/Lib/ConfigOptions.json @@ -181,13 +181,13 @@ { "name": "inherit-base-members", "brief": "Determine how derived classes inherit base members", - "details": "Determine how derived classes inherit members of base classes. When set to `never`, derived classes do not inherit members of base classes and only the relationship is stored. When set to `reference`, derived classes list members of base classes but references are still linked to the base class. When set to `copy`, a copy is created for each base symbol as if it was declared in the derived class. If the base class is a dependency, the extraction mode is copied from the new parent. When set to `copy-dependencies`, a reference is created by default and a copy is created when the base class is a dependency.", + "details": "Determine how derived classes inherit members of base classes. When set to `never`, derived classes do not inherit members of base classes and only the relationship is stored. When set to `reference`, derived classes list members of base classes but references are still linked to the base class. When set to `copy-dependencies`, a reference is created by default and a copy is created when the base class is a dependency. When set to `copy-all`, a copy is created for each base symbol as if it was declared in the derived class. If the base class is a dependency, the extraction mode is copied from the new parent.", "type": "enum", "values": [ "never", "reference", - "copy", - "copy-dependencies" + "copy-dependencies", + "copy-all" ], "default": "copy-dependencies" }, diff --git a/src/lib/Metadata/Finalizers/BaseMembersFinalizer.cpp b/src/lib/Metadata/Finalizers/BaseMembersFinalizer.cpp index 454382f8e8..c4e392065d 100644 --- a/src/lib/Metadata/Finalizers/BaseMembersFinalizer.cpp +++ b/src/lib/Metadata/Finalizers/BaseMembersFinalizer.cpp @@ -78,6 +78,19 @@ inheritBaseMembers( inheritBaseMembers(derivedId, derived.Friends, base.Friends); } +namespace { +bool +shouldCopy(Config const& config, Info const& M) +{ + + if (config->inheritBaseMembers == PublicSettings::BaseMemberInheritance::CopyDependencies) + { + return M.Extraction == ExtractionMode::Dependency; + } + return config->inheritBaseMembers == PublicSettings::BaseMemberInheritance::CopyAll; +} +} + void BaseMembersFinalizer:: inheritBaseMembers( @@ -122,15 +135,19 @@ inheritBaseMembers( }); MRDOCS_CHECK_OR_CONTINUE(shadowIt == derived.end()); - bool const copyMember = - config_->inheritBaseMembers == PublicSettings::BaseMemberInheritance::CopyDependencies ? - otherInfo.Extraction == ExtractionMode::Dependency : - config_->inheritBaseMembers == PublicSettings::BaseMemberInheritance::Copy; - // Not a shadow, so inherit the base member - if (!copyMember) + if (!shouldCopy(config_, otherInfo)) { - derived.push_back(otherID); + // When it's a dependency, we don't create a reference to + // the member because the reference would be invalid. + // The user can use `copy-dependencies` or `copy` to + // copy the dependencies. + // There could be another option that forces the symbol + // extraction mode to be regular, but that is controversial. + if (otherInfo.Extraction != ExtractionMode::Dependency) + { + derived.push_back(otherID); + } } else { diff --git a/src/test/TestMain.cpp b/src/test/TestMain.cpp index f48e5aada0..34bc8d1e00 100644 --- a/src/test/TestMain.cpp +++ b/src/test/TestMain.cpp @@ -118,6 +118,7 @@ int test_main(int argc, char const** argv) return EXIT_SUCCESS; } +#ifdef _NDEBUG static void reportUnhandledException( std::exception const& ex) { @@ -126,12 +127,16 @@ static void reportUnhandledException( report::error("Unhandled exception: {}\n", ex.what()); sys::PrintStackTrace(llvm::errs()); } +#endif } // mrdocs } // clang int main(int argc, char const** argv) { +#ifndef _NDEBUG + return clang::mrdocs::test_main(argc, argv); +#else try { return clang::mrdocs::test_main(argc, argv); @@ -146,4 +151,5 @@ int main(int argc, char const** argv) clang::mrdocs::reportUnhandledException(ex); } return EXIT_FAILURE; +#endif } diff --git a/src/test/TestRunner.cpp b/src/test/TestRunner.cpp index de9812bb9b..ac07ac9648 100644 --- a/src/test/TestRunner.cpp +++ b/src/test/TestRunner.cpp @@ -277,8 +277,10 @@ handleDir( entry.type() == fs::file_type::directory_file) { // Check for a subdirectory-wide config + auto const& subdir = entry.path(); Config::Settings subdirSettings = dirSettings; - std::string const& configPath = files::appendPath(entry.path(), "mrdocs.yml"); + subdirSettings.sourceRoot = subdir; + std::string const& configPath = files::appendPath(subdir, "mrdocs.yml"); if (files::exists(configPath)) { if (auto exp = Config::Settings::load_file(subdirSettings, configPath, dirs_); !exp) @@ -290,7 +292,7 @@ handleDir( return report::error("Failed to normalize config file: {}: \"{}\"", exp.error(), configPath); } } - handleDir(entry.path(), subdirSettings); + handleDir(subdir, subdirSettings); } else if( entry.type() == fs::file_type::regular_file && @@ -337,9 +339,9 @@ checkPath( Config::Settings dirSettings; testArgs.apply(dirSettings, dirs_, argv); dirSettings.multipage = false; - dirSettings.sourceRoot = files::appendPath(inputPath, "."); - + dirSettings.sourceRoot = inputDir; std::string const& configPath = files::appendPath(inputDir, "mrdocs.yml"); + if (files::exists(configPath)) { if (auto exp = Config::Settings::load_file(dirSettings, configPath, dirs_); !exp) diff --git a/src/tool/ToolMain.cpp b/src/tool/ToolMain.cpp index e02a673d47..b923174065 100644 --- a/src/tool/ToolMain.cpp +++ b/src/tool/ToolMain.cpp @@ -153,6 +153,7 @@ mrdocs_main(int argc, char const** argv) return EXIT_SUCCESS; } +#ifdef _NDEBUG static void reportUnhandledException( @@ -163,24 +164,29 @@ reportUnhandledException( report::fatal("Unhandled exception: {}\n", ex.what()); sys::PrintStackTrace(llvm::errs()); } +#endif } // clang::mrdocs int main(int argc, char const** argv) { - // try - // { +#ifndef _NDEBUG + return clang::mrdocs::mrdocs_main(argc, argv); +#else + try + { return clang::mrdocs::mrdocs_main(argc, argv); - // } - // catch(clang::mrdocs::Exception const& ex) - // { + } + catch(clang::mrdocs::Exception const& ex) + { // Thrown Exception should never get here. - // clang::mrdocs::reportUnhandledException(ex); - // } - // catch(std::exception const& ex) - // { - // clang::mrdocs::reportUnhandledException(ex); - // } - // return EXIT_FAILURE; + clang::mrdocs::reportUnhandledException(ex); + } + catch(std::exception const& ex) + { + clang::mrdocs::reportUnhandledException(ex); + } + return EXIT_FAILURE; +#endif } diff --git a/test-files/golden-tests/config/inherit-base-members/copy-dependencies.adoc b/test-files/golden-tests/config/inherit-base-members/copy-dependencies.adoc new file mode 100644 index 0000000000..5f9890d17d --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/copy-dependencies.adoc @@ -0,0 +1,634 @@ += Reference +:mrdocs: + +[#index] +== Global namespace + + +=== Types + +[cols=2] +|=== +| Name | Description + +| <> +| + +| <> +| + +| <> +| + +| <> +| + +| <> +| Should inherit functions as protected. + +|=== + +[#base] +== base + + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class base + : public <>; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +| <> +| This function should be indirectly inherited by derived classes. + +|=== + +=== Protected Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +|=== + + +[#base-base_inherited] +== <>::base_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_inherited(); +---- + +[#base-base_shadowed] +== <>::base_shadowed + + +This function should shadow the excluded_base function. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_shadowed(); +---- + +[#base-derived_shadowed] +== <>::derived_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#base-do_base_inherited] +== <>::do_base_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_inherited(); +---- + +[#base-do_base_shadowed] +== <>::do_base_shadowed + + +This function should shadow the excluded_base function. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_shadowed(); +---- + +[#base-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#base_base] +== base_base + + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class base_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be indirectly inherited by derived classes. + +|=== + + + +[#base_base-base_base_inherited] +== <>::base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_base_inherited(); +---- + +[#base_base-do_base_base_inherited] +== <>::do_base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_base_inherited(); +---- + +[#derived] +== derived + + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class derived + : public <> + , public excluded_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should shadow the base class function. + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should shadow the base class function. + +| <> +| This function should be inherited by derived classes. + +|=== + +=== Protected Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should be shadowed by derived classes. + +|=== + + +[#derived-derived_shadowed] +== <>::derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#derived-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#derived-do_excluded_inherited] +== <>::do_excluded_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +excluded_base& +do_excluded_inherited(); +---- + +[#derived-do_shadowed] +== <>::do_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +excluded_base& +do_shadowed(); +---- + +[#derived-excluded_inherited] +== <>::excluded_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +excluded_base& +excluded_inherited(); +---- + +[#private_derived] +== private_derived + + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class private_derived + : <> + , excluded_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should shadow the base class function. + +| <> +| This function should shadow the base class function. + +|=== + + + +[#private_derived-derived_shadowed] +== <>::derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#private_derived-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#protected_derived] +== protected_derived + + +Should inherit functions as protected. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class protected_derived + : protected <> + , protected excluded_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should shadow the base class function. + +| <> +| This function should shadow the base class function. + +|=== + +=== Protected Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should be shadowed by derived classes. + +| <> +| This function should be inherited by derived classes. + +|=== + + +[#protected_derived-derived_shadowed] +== <>::derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#protected_derived-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#protected_derived-do_excluded_inherited] +== <>::do_excluded_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +excluded_base& +do_excluded_inherited(); +---- + +[#protected_derived-do_shadowed] +== <>::do_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +excluded_base& +do_shadowed(); +---- + +[#protected_derived-excluded_inherited] +== <>::excluded_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy‐dependencies.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +excluded_base& +excluded_inherited(); +---- + + + +[.small]#Created with https://www.mrdocs.com[MrDocs]# diff --git a/test-files/golden-tests/config/inherit-base-members/copy-dependencies.cpp b/test-files/golden-tests/config/inherit-base-members/copy-dependencies.cpp new file mode 100644 index 0000000000..ae1d15ebed --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/copy-dependencies.cpp @@ -0,0 +1,81 @@ +class excluded_base { +public: + /// This function should be shadowed by derived classes. + excluded_base& derived_shadowed(); + /// This function should be shadowed by the base class. + excluded_base& base_shadowed(); + /// This function should be inherited by derived classes. + excluded_base& excluded_inherited(); +protected: + /// This function should be shadowed by derived classes. + excluded_base& do_shadowed(); + /// This function should be shadowed by the base class. + excluded_base& do_base_shadowed(); + /// This function should be inherited by derived classes. + excluded_base& do_excluded_inherited(); +}; + +class base_base { +public: + /// This function should be indirectly inherited by derived classes. + base_base& base_base_inherited(); +public: + /// This function should be indirectly inherited by derived classes. + base_base& do_base_base_inherited(); +}; + +class base : + public base_base +{ +public: + /// This function should be shadowed by derived classes. + base& derived_shadowed(); + /// This function should shadow the excluded_base function. + base& base_shadowed(); + /// This function should be inherited by derived classes. + base& base_inherited(); +protected: + /// This function should be shadowed by derived classes. + base& do_derived_shadowed(); + /// This function should shadow the excluded_base function. + base& do_base_shadowed(); + /// This function should be inherited by derived classes. + base& do_base_inherited(); +}; + +class derived + : public base + , public excluded_base +{ +public: + /// This function should shadow the base class function. + derived& derived_shadowed(); +public: + /// This function should shadow the base class function. + derived& do_derived_shadowed(); +}; + +/// Should inherit functions as protected. +class protected_derived + : protected base + , protected excluded_base +{ +public: + /// This function should shadow the base class function. + protected_derived& derived_shadowed(); +public: + /// This function should shadow the base class function. + protected_derived& do_derived_shadowed(); +}; + +class private_derived + : private base + , private excluded_base +{ +public: + /// This function should shadow the base class function. + private_derived& derived_shadowed(); +public: + /// This function should shadow the base class function. + private_derived& do_derived_shadowed(); +}; diff --git a/test-files/golden-tests/config/inherit-base-members/copy-dependencies.html b/test-files/golden-tests/config/inherit-base-members/copy-dependencies.html new file mode 100644 index 0000000000..a670b703ef --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/copy-dependencies.html @@ -0,0 +1,757 @@ + + +Reference + + +
+

Reference

+
+
+

Global namespace

+
+

Types

+ + + + + + + + + + + + + + +
NameDescription
base +
base_base +
derived +
private_derived +
protected_derived Should inherit functions as protected. + +
+
+
+
+

base

+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+class base
+    : public base_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + + + + +
NameDescription
base_base_inherited This function should be indirectly inherited by derived classes. + +
base_inherited This function should be inherited by derived classes. + +
base_shadowed This function should shadow the excluded_base function. + +
derived_shadowed This function should be shadowed by derived classes. + +
do_base_base_inherited This function should be indirectly inherited by derived classes. + +
+ +

Protected Member Functions

+ + + + + + + + + + + + +
NameDescription
do_base_inherited This function should be inherited by derived classes. + +
do_base_shadowed This function should shadow the excluded_base function. + +
do_derived_shadowed This function should be shadowed by derived classes. + +
+ +
+
+
+

base::base_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+base&
+base_inherited();
+
+
+
+
+
+
+

base::base_shadowed

+
+This function should shadow the excluded_base function. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+base&
+base_shadowed();
+
+
+
+
+
+
+

base::derived_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+base&
+derived_shadowed();
+
+
+
+
+
+
+

base::do_base_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+base&
+do_base_inherited();
+
+
+
+
+
+
+

base::do_base_shadowed

+
+This function should shadow the excluded_base function. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+base&
+do_base_shadowed();
+
+
+
+
+
+
+

base::do_derived_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+base&
+do_derived_shadowed();
+
+
+
+
+
+
+

base_base

+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+class base_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + +
NameDescription
base_base_inherited This function should be indirectly inherited by derived classes. + +
do_base_base_inherited This function should be indirectly inherited by derived classes. + +
+ + +
+
+
+

base_base::base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+base_base&
+base_base_inherited();
+
+
+
+
+
+
+

base_base::do_base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+base_base&
+do_base_base_inherited();
+
+
+
+
+
+
+

derived

+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+class derived
+    : public base
+    , public excluded_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + + + + + + +
NameDescription
base_base_inherited This function should be indirectly inherited by derived classes. + +
base_inherited This function should be inherited by derived classes. + +
base_shadowed This function should shadow the excluded_base function. + +
derived_shadowed This function should shadow the base class function. + +
do_base_base_inherited This function should be indirectly inherited by derived classes. + +
do_derived_shadowed This function should shadow the base class function. + +
excluded_inherited This function should be inherited by derived classes. + +
+ +

Protected Member Functions

+ + + + + + + + + + + + + + +
NameDescription
do_base_inherited This function should be inherited by derived classes. + +
do_base_shadowed This function should shadow the excluded_base function. + +
do_derived_shadowed This function should be shadowed by derived classes. + +
do_excluded_inherited This function should be inherited by derived classes. + +
do_shadowed This function should be shadowed by derived classes. + +
+ +
+
+
+

derived::derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+derived&
+derived_shadowed();
+
+
+
+
+
+
+

derived::do_derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+derived&
+do_derived_shadowed();
+
+
+
+
+
+
+

derived::do_excluded_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+excluded_base&
+do_excluded_inherited();
+
+
+
+
+
+
+

derived::do_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+excluded_base&
+do_shadowed();
+
+
+
+
+
+
+

derived::excluded_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+excluded_base&
+excluded_inherited();
+
+
+
+
+
+
+

private_derived

+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+class private_derived
+    : base
+    , excluded_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + +
NameDescription
derived_shadowed This function should shadow the base class function. + +
do_derived_shadowed This function should shadow the base class function. + +
+ + +
+
+
+

private_derived::derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+private_derived&
+derived_shadowed();
+
+
+
+
+
+
+

private_derived::do_derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+private_derived&
+do_derived_shadowed();
+
+
+
+
+
+
+

protected_derived

+
+Should inherit functions as protected. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+class protected_derived
+    : protected base
+    , protected excluded_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + +
NameDescription
derived_shadowed This function should shadow the base class function. + +
do_derived_shadowed This function should shadow the base class function. + +
+ +

Protected Member Functions

+ + + + + + + + + + + + + + + + + + + + +
NameDescription
base_base_inherited This function should be indirectly inherited by derived classes. + +
base_inherited This function should be inherited by derived classes. + +
base_shadowed This function should shadow the excluded_base function. + +
derived_shadowed This function should be shadowed by derived classes. + +
do_base_base_inherited This function should be indirectly inherited by derived classes. + +
do_base_inherited This function should be inherited by derived classes. + +
do_base_shadowed This function should shadow the excluded_base function. + +
do_derived_shadowed This function should be shadowed by derived classes. + +
do_excluded_inherited This function should be inherited by derived classes. + +
do_shadowed This function should be shadowed by derived classes. + +
excluded_inherited This function should be inherited by derived classes. + +
+ +
+
+
+

protected_derived::derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+protected_derived&
+derived_shadowed();
+
+
+
+
+
+
+

protected_derived::do_derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+protected_derived&
+do_derived_shadowed();
+
+
+
+
+
+
+

protected_derived::do_excluded_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+excluded_base&
+do_excluded_inherited();
+
+
+
+
+
+
+

protected_derived::do_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+excluded_base&
+do_shadowed();
+
+
+
+
+
+
+

protected_derived::excluded_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy-dependencies.cpp>
+
+
+excluded_base&
+excluded_inherited();
+
+
+
+
+ +
+
+

Created with MrDocs

+
+ + \ No newline at end of file diff --git a/test-files/golden-tests/config/inherit-base-members/copy-dependencies.xml b/test-files/golden-tests/config/inherit-base-members/copy-dependencies.xml new file mode 100644 index 0000000000..98861e510a --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/copy-dependencies.xml @@ -0,0 +1,528 @@ + + + + + + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + + + Should inherit functions as protected. + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + diff --git a/test-files/golden-tests/config/inherit-base-members/copy-dependencies.yml b/test-files/golden-tests/config/inherit-base-members/copy-dependencies.yml new file mode 100644 index 0000000000..3fff044288 --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/copy-dependencies.yml @@ -0,0 +1,3 @@ +inherit-base-members: copy-dependencies +exclude-symbols: + - excluded_base \ No newline at end of file diff --git a/test-files/golden-tests/config/inherit-base-members/copy.adoc b/test-files/golden-tests/config/inherit-base-members/copy.adoc new file mode 100644 index 0000000000..079cf487a3 --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/copy.adoc @@ -0,0 +1,923 @@ += Reference +:mrdocs: + +[#index] +== Global namespace + + +=== Types + +[cols=2] +|=== +| Name | Description + +| <> +| + +| <> +| + +| <> +| + +| <> +| + +| <> +| Should inherit functions as protected. + +|=== + +[#base] +== base + + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class base + : public <>; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +| <> +| This function should be indirectly inherited by derived classes. + +|=== + +=== Protected Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +|=== + + +[#base-base_base_inherited] +== <>::base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_base_inherited(); +---- + +[#base-base_inherited] +== <>::base_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_inherited(); +---- + +[#base-base_shadowed] +== <>::base_shadowed + + +This function should shadow the excluded_base function. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_shadowed(); +---- + +[#base-derived_shadowed] +== <>::derived_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#base-do_base_base_inherited] +== <>::do_base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_base_inherited(); +---- + +[#base-do_base_inherited] +== <>::do_base_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_inherited(); +---- + +[#base-do_base_shadowed] +== <>::do_base_shadowed + + +This function should shadow the excluded_base function. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_shadowed(); +---- + +[#base-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#base_base] +== base_base + + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class base_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be indirectly inherited by derived classes. + +|=== + + + +[#base_base-base_base_inherited] +== <>::base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_base_inherited(); +---- + +[#base_base-do_base_base_inherited] +== <>::do_base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_base_inherited(); +---- + +[#derived] +== derived + + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class derived + : public <> + , public excluded_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should shadow the base class function. + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should shadow the base class function. + +| <> +| This function should be inherited by derived classes. + +|=== + +=== Protected Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should be shadowed by derived classes. + +|=== + + +[#derived-base_base_inherited] +== <>::base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_base_inherited(); +---- + +[#derived-base_inherited] +== <>::base_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_inherited(); +---- + +[#derived-base_shadowed] +== <>::base_shadowed + + +This function should shadow the excluded_base function. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_shadowed(); +---- + +[#derived-derived_shadowed] +== <>::derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#derived-do_base_base_inherited] +== <>::do_base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_base_inherited(); +---- + +[#derived-do_base_inherited] +== <>::do_base_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_inherited(); +---- + +[#derived-do_base_shadowed] +== <>::do_base_shadowed + + +This function should shadow the excluded_base function. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_shadowed(); +---- + +[#derived-do_derived_shadowed-0a] +== <>::do_derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#derived-do_derived_shadowed-0d] +== <>::do_derived_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#derived-do_excluded_inherited] +== <>::do_excluded_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +excluded_base& +do_excluded_inherited(); +---- + +[#derived-do_shadowed] +== <>::do_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +excluded_base& +do_shadowed(); +---- + +[#derived-excluded_inherited] +== <>::excluded_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +excluded_base& +excluded_inherited(); +---- + +[#private_derived] +== private_derived + + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class private_derived + : <> + , excluded_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should shadow the base class function. + +| <> +| This function should shadow the base class function. + +|=== + + + +[#private_derived-derived_shadowed] +== <>::derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#private_derived-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#protected_derived] +== protected_derived + + +Should inherit functions as protected. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class protected_derived + : protected <> + , protected excluded_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should shadow the base class function. + +| <> +| This function should shadow the base class function. + +|=== + +=== Protected Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should be shadowed by derived classes. + +| <> +| This function should be inherited by derived classes. + +|=== + + +[#protected_derived-base_base_inherited] +== <>::base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_base_inherited(); +---- + +[#protected_derived-base_inherited] +== <>::base_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_inherited(); +---- + +[#protected_derived-base_shadowed] +== <>::base_shadowed + + +This function should shadow the excluded_base function. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_shadowed(); +---- + +[#protected_derived-derived_shadowed-0a] +== <>::derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#protected_derived-derived_shadowed-0f] +== <>::derived_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#protected_derived-do_base_base_inherited] +== <>::do_base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_base_inherited(); +---- + +[#protected_derived-do_base_inherited] +== <>::do_base_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_inherited(); +---- + +[#protected_derived-do_base_shadowed] +== <>::do_base_shadowed + + +This function should shadow the excluded_base function. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_shadowed(); +---- + +[#protected_derived-do_derived_shadowed-0e] +== <>::do_derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#protected_derived-do_derived_shadowed-06] +== <>::do_derived_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#protected_derived-do_excluded_inherited] +== <>::do_excluded_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +excluded_base& +do_excluded_inherited(); +---- + +[#protected_derived-do_shadowed] +== <>::do_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +excluded_base& +do_shadowed(); +---- + +[#protected_derived-excluded_inherited] +== <>::excluded_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<copy.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +excluded_base& +excluded_inherited(); +---- + + + +[.small]#Created with https://www.mrdocs.com[MrDocs]# diff --git a/test-files/golden-tests/config/inherit-base-members/copy.cpp b/test-files/golden-tests/config/inherit-base-members/copy.cpp new file mode 100644 index 0000000000..ae1d15ebed --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/copy.cpp @@ -0,0 +1,81 @@ +class excluded_base { +public: + /// This function should be shadowed by derived classes. + excluded_base& derived_shadowed(); + /// This function should be shadowed by the base class. + excluded_base& base_shadowed(); + /// This function should be inherited by derived classes. + excluded_base& excluded_inherited(); +protected: + /// This function should be shadowed by derived classes. + excluded_base& do_shadowed(); + /// This function should be shadowed by the base class. + excluded_base& do_base_shadowed(); + /// This function should be inherited by derived classes. + excluded_base& do_excluded_inherited(); +}; + +class base_base { +public: + /// This function should be indirectly inherited by derived classes. + base_base& base_base_inherited(); +public: + /// This function should be indirectly inherited by derived classes. + base_base& do_base_base_inherited(); +}; + +class base : + public base_base +{ +public: + /// This function should be shadowed by derived classes. + base& derived_shadowed(); + /// This function should shadow the excluded_base function. + base& base_shadowed(); + /// This function should be inherited by derived classes. + base& base_inherited(); +protected: + /// This function should be shadowed by derived classes. + base& do_derived_shadowed(); + /// This function should shadow the excluded_base function. + base& do_base_shadowed(); + /// This function should be inherited by derived classes. + base& do_base_inherited(); +}; + +class derived + : public base + , public excluded_base +{ +public: + /// This function should shadow the base class function. + derived& derived_shadowed(); +public: + /// This function should shadow the base class function. + derived& do_derived_shadowed(); +}; + +/// Should inherit functions as protected. +class protected_derived + : protected base + , protected excluded_base +{ +public: + /// This function should shadow the base class function. + protected_derived& derived_shadowed(); +public: + /// This function should shadow the base class function. + protected_derived& do_derived_shadowed(); +}; + +class private_derived + : private base + , private excluded_base +{ +public: + /// This function should shadow the base class function. + private_derived& derived_shadowed(); +public: + /// This function should shadow the base class function. + private_derived& do_derived_shadowed(); +}; diff --git a/test-files/golden-tests/config/inherit-base-members/copy.html b/test-files/golden-tests/config/inherit-base-members/copy.html new file mode 100644 index 0000000000..2b06963d8e --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/copy.html @@ -0,0 +1,1114 @@ + + +Reference + + +
+

Reference

+
+
+

Global namespace

+
+

Types

+ + + + + + + + + + + + + + +
NameDescription
base +
base_base +
derived +
private_derived +
protected_derived Should inherit functions as protected. + +
+
+
+
+

base

+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+class base
+    : public base_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + + + + +
NameDescription
base_base_inherited This function should be indirectly inherited by derived classes. + +
base_inherited This function should be inherited by derived classes. + +
base_shadowed This function should shadow the excluded_base function. + +
derived_shadowed This function should be shadowed by derived classes. + +
do_base_base_inherited This function should be indirectly inherited by derived classes. + +
+ +

Protected Member Functions

+ + + + + + + + + + + + +
NameDescription
do_base_inherited This function should be inherited by derived classes. + +
do_base_shadowed This function should shadow the excluded_base function. + +
do_derived_shadowed This function should be shadowed by derived classes. + +
+ +
+
+
+

base::base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base_base&
+base_base_inherited();
+
+
+
+
+
+
+

base::base_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+base_inherited();
+
+
+
+
+
+
+

base::base_shadowed

+
+This function should shadow the excluded_base function. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+base_shadowed();
+
+
+
+
+
+
+

base::derived_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+derived_shadowed();
+
+
+
+
+
+
+

base::do_base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base_base&
+do_base_base_inherited();
+
+
+
+
+
+
+

base::do_base_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+do_base_inherited();
+
+
+
+
+
+
+

base::do_base_shadowed

+
+This function should shadow the excluded_base function. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+do_base_shadowed();
+
+
+
+
+
+
+

base::do_derived_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+do_derived_shadowed();
+
+
+
+
+
+
+

base_base

+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+class base_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + +
NameDescription
base_base_inherited This function should be indirectly inherited by derived classes. + +
do_base_base_inherited This function should be indirectly inherited by derived classes. + +
+ + +
+
+
+

base_base::base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base_base&
+base_base_inherited();
+
+
+
+
+
+
+

base_base::do_base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base_base&
+do_base_base_inherited();
+
+
+
+
+
+
+

derived

+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+class derived
+    : public base
+    , public excluded_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + + + + + + +
NameDescription
base_base_inherited This function should be indirectly inherited by derived classes. + +
base_inherited This function should be inherited by derived classes. + +
base_shadowed This function should shadow the excluded_base function. + +
derived_shadowed This function should shadow the base class function. + +
do_base_base_inherited This function should be indirectly inherited by derived classes. + +
do_derived_shadowed This function should shadow the base class function. + +
excluded_inherited This function should be inherited by derived classes. + +
+ +

Protected Member Functions

+ + + + + + + + + + + + + + +
NameDescription
do_base_inherited This function should be inherited by derived classes. + +
do_base_shadowed This function should shadow the excluded_base function. + +
do_derived_shadowed This function should be shadowed by derived classes. + +
do_excluded_inherited This function should be inherited by derived classes. + +
do_shadowed This function should be shadowed by derived classes. + +
+ +
+
+
+

derived::base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base_base&
+base_base_inherited();
+
+
+
+
+
+
+

derived::base_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+base_inherited();
+
+
+
+
+
+
+

derived::base_shadowed

+
+This function should shadow the excluded_base function. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+base_shadowed();
+
+
+
+
+
+
+

derived::derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+derived&
+derived_shadowed();
+
+
+
+
+
+
+

derived::do_base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base_base&
+do_base_base_inherited();
+
+
+
+
+
+
+

derived::do_base_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+do_base_inherited();
+
+
+
+
+
+
+

derived::do_base_shadowed

+
+This function should shadow the excluded_base function. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+do_base_shadowed();
+
+
+
+
+
+
+

derived::do_derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+derived&
+do_derived_shadowed();
+
+
+
+
+
+
+

derived::do_derived_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+do_derived_shadowed();
+
+
+
+
+
+
+

derived::do_excluded_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+excluded_base&
+do_excluded_inherited();
+
+
+
+
+
+
+

derived::do_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+excluded_base&
+do_shadowed();
+
+
+
+
+
+
+

derived::excluded_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+excluded_base&
+excluded_inherited();
+
+
+
+
+
+
+

private_derived

+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+class private_derived
+    : base
+    , excluded_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + +
NameDescription
derived_shadowed This function should shadow the base class function. + +
do_derived_shadowed This function should shadow the base class function. + +
+ + +
+
+
+

private_derived::derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+private_derived&
+derived_shadowed();
+
+
+
+
+
+
+

private_derived::do_derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+private_derived&
+do_derived_shadowed();
+
+
+
+
+
+
+

protected_derived

+
+Should inherit functions as protected. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+class protected_derived
+    : protected base
+    , protected excluded_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + +
NameDescription
derived_shadowed This function should shadow the base class function. + +
do_derived_shadowed This function should shadow the base class function. + +
+ +

Protected Member Functions

+ + + + + + + + + + + + + + + + + + + + +
NameDescription
base_base_inherited This function should be indirectly inherited by derived classes. + +
base_inherited This function should be inherited by derived classes. + +
base_shadowed This function should shadow the excluded_base function. + +
derived_shadowed This function should be shadowed by derived classes. + +
do_base_base_inherited This function should be indirectly inherited by derived classes. + +
do_base_inherited This function should be inherited by derived classes. + +
do_base_shadowed This function should shadow the excluded_base function. + +
do_derived_shadowed This function should be shadowed by derived classes. + +
do_excluded_inherited This function should be inherited by derived classes. + +
do_shadowed This function should be shadowed by derived classes. + +
excluded_inherited This function should be inherited by derived classes. + +
+ +
+
+
+

protected_derived::base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base_base&
+base_base_inherited();
+
+
+
+
+
+
+

protected_derived::base_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+base_inherited();
+
+
+
+
+
+
+

protected_derived::base_shadowed

+
+This function should shadow the excluded_base function. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+base_shadowed();
+
+
+
+
+
+
+

protected_derived::derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+protected_derived&
+derived_shadowed();
+
+
+
+
+
+
+

protected_derived::derived_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+derived_shadowed();
+
+
+
+
+
+
+

protected_derived::do_base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base_base&
+do_base_base_inherited();
+
+
+
+
+
+
+

protected_derived::do_base_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+do_base_inherited();
+
+
+
+
+
+
+

protected_derived::do_base_shadowed

+
+This function should shadow the excluded_base function. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+do_base_shadowed();
+
+
+
+
+
+
+

protected_derived::do_derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+protected_derived&
+do_derived_shadowed();
+
+
+
+
+
+
+

protected_derived::do_derived_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+base&
+do_derived_shadowed();
+
+
+
+
+
+
+

protected_derived::do_excluded_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+excluded_base&
+do_excluded_inherited();
+
+
+
+
+
+
+

protected_derived::do_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+excluded_base&
+do_shadowed();
+
+
+
+
+
+
+

protected_derived::excluded_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <copy.cpp>
+
+
+excluded_base&
+excluded_inherited();
+
+
+
+
+ +
+
+

Created with MrDocs

+
+ + \ No newline at end of file diff --git a/test-files/golden-tests/config/inherit-base-members/copy.xml b/test-files/golden-tests/config/inherit-base-members/copy.xml new file mode 100644 index 0000000000..c61cc8258b --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/copy.xml @@ -0,0 +1,528 @@ + + + + + + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + + + Should inherit functions as protected. + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + diff --git a/test-files/golden-tests/config/inherit-base-members/copy.yml b/test-files/golden-tests/config/inherit-base-members/copy.yml new file mode 100644 index 0000000000..a0b9576ff9 --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/copy.yml @@ -0,0 +1,3 @@ +inherit-base-members: copy-all +exclude-symbols: + - excluded_base \ No newline at end of file diff --git a/test-files/golden-tests/config/inherit-base-members/never.adoc b/test-files/golden-tests/config/inherit-base-members/never.adoc new file mode 100644 index 0000000000..4e6e3ec6ff --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/never.adoc @@ -0,0 +1,449 @@ += Reference +:mrdocs: + +[#index] +== Global namespace + + +=== Types + +[cols=2] +|=== +| Name | Description + +| <> +| + +| <> +| + +| <> +| + +| <> +| + +| <> +| Should inherit functions as protected. + +|=== + +[#base] +== base + + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class base + : public <>; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +|=== + +=== Protected Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +|=== + + +[#base-base_inherited] +== <>::base_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_inherited(); +---- + +[#base-base_shadowed] +== <>::base_shadowed + + +This function should shadow the excluded_base function. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_shadowed(); +---- + +[#base-derived_shadowed] +== <>::derived_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#base-do_base_inherited] +== <>::do_base_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_inherited(); +---- + +[#base-do_base_shadowed] +== <>::do_base_shadowed + + +This function should shadow the excluded_base function. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_shadowed(); +---- + +[#base-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#base_base] +== base_base + + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class base_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be indirectly inherited by derived classes. + +|=== + + + +[#base_base-base_base_inherited] +== <>::base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_base_inherited(); +---- + +[#base_base-do_base_base_inherited] +== <>::do_base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_base_inherited(); +---- + +[#derived] +== derived + + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class derived + : public <> + , public excluded_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should shadow the base class function. + +| <> +| This function should shadow the base class function. + +|=== + + + +[#derived-derived_shadowed] +== <>::derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#derived-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#private_derived] +== private_derived + + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class private_derived + : <> + , excluded_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should shadow the base class function. + +| <> +| This function should shadow the base class function. + +|=== + + + +[#private_derived-derived_shadowed] +== <>::derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#private_derived-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#protected_derived] +== protected_derived + + +Should inherit functions as protected. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class protected_derived + : protected <> + , protected excluded_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should shadow the base class function. + +| <> +| This function should shadow the base class function. + +|=== + + + +[#protected_derived-derived_shadowed] +== <>::derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#protected_derived-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<never.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + + + +[.small]#Created with https://www.mrdocs.com[MrDocs]# diff --git a/test-files/golden-tests/config/inherit-base-members/never.cpp b/test-files/golden-tests/config/inherit-base-members/never.cpp new file mode 100644 index 0000000000..ae1d15ebed --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/never.cpp @@ -0,0 +1,81 @@ +class excluded_base { +public: + /// This function should be shadowed by derived classes. + excluded_base& derived_shadowed(); + /// This function should be shadowed by the base class. + excluded_base& base_shadowed(); + /// This function should be inherited by derived classes. + excluded_base& excluded_inherited(); +protected: + /// This function should be shadowed by derived classes. + excluded_base& do_shadowed(); + /// This function should be shadowed by the base class. + excluded_base& do_base_shadowed(); + /// This function should be inherited by derived classes. + excluded_base& do_excluded_inherited(); +}; + +class base_base { +public: + /// This function should be indirectly inherited by derived classes. + base_base& base_base_inherited(); +public: + /// This function should be indirectly inherited by derived classes. + base_base& do_base_base_inherited(); +}; + +class base : + public base_base +{ +public: + /// This function should be shadowed by derived classes. + base& derived_shadowed(); + /// This function should shadow the excluded_base function. + base& base_shadowed(); + /// This function should be inherited by derived classes. + base& base_inherited(); +protected: + /// This function should be shadowed by derived classes. + base& do_derived_shadowed(); + /// This function should shadow the excluded_base function. + base& do_base_shadowed(); + /// This function should be inherited by derived classes. + base& do_base_inherited(); +}; + +class derived + : public base + , public excluded_base +{ +public: + /// This function should shadow the base class function. + derived& derived_shadowed(); +public: + /// This function should shadow the base class function. + derived& do_derived_shadowed(); +}; + +/// Should inherit functions as protected. +class protected_derived + : protected base + , protected excluded_base +{ +public: + /// This function should shadow the base class function. + protected_derived& derived_shadowed(); +public: + /// This function should shadow the base class function. + protected_derived& do_derived_shadowed(); +}; + +class private_derived + : private base + , private excluded_base +{ +public: + /// This function should shadow the base class function. + private_derived& derived_shadowed(); +public: + /// This function should shadow the base class function. + private_derived& do_derived_shadowed(); +}; diff --git a/test-files/golden-tests/config/inherit-base-members/never.html b/test-files/golden-tests/config/inherit-base-members/never.html new file mode 100644 index 0000000000..e5ec619975 --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/never.html @@ -0,0 +1,540 @@ + + +Reference + + +
+

Reference

+
+
+

Global namespace

+
+

Types

+ + + + + + + + + + + + + + +
NameDescription
base +
base_base +
derived +
private_derived +
protected_derived Should inherit functions as protected. + +
+
+
+
+

base

+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+class base
+    : public base_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + + +
NameDescription
base_inherited This function should be inherited by derived classes. + +
base_shadowed This function should shadow the excluded_base function. + +
derived_shadowed This function should be shadowed by derived classes. + +
+ +

Protected Member Functions

+ + + + + + + + + + + + +
NameDescription
do_base_inherited This function should be inherited by derived classes. + +
do_base_shadowed This function should shadow the excluded_base function. + +
do_derived_shadowed This function should be shadowed by derived classes. + +
+ +
+
+
+

base::base_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+base&
+base_inherited();
+
+
+
+
+
+
+

base::base_shadowed

+
+This function should shadow the excluded_base function. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+base&
+base_shadowed();
+
+
+
+
+
+
+

base::derived_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+base&
+derived_shadowed();
+
+
+
+
+
+
+

base::do_base_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+base&
+do_base_inherited();
+
+
+
+
+
+
+

base::do_base_shadowed

+
+This function should shadow the excluded_base function. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+base&
+do_base_shadowed();
+
+
+
+
+
+
+

base::do_derived_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+base&
+do_derived_shadowed();
+
+
+
+
+
+
+

base_base

+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+class base_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + +
NameDescription
base_base_inherited This function should be indirectly inherited by derived classes. + +
do_base_base_inherited This function should be indirectly inherited by derived classes. + +
+ + +
+
+
+

base_base::base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+base_base&
+base_base_inherited();
+
+
+
+
+
+
+

base_base::do_base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+base_base&
+do_base_base_inherited();
+
+
+
+
+
+
+

derived

+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+class derived
+    : public base
+    , public excluded_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + +
NameDescription
derived_shadowed This function should shadow the base class function. + +
do_derived_shadowed This function should shadow the base class function. + +
+ + +
+
+
+

derived::derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+derived&
+derived_shadowed();
+
+
+
+
+
+
+

derived::do_derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+derived&
+do_derived_shadowed();
+
+
+
+
+
+
+

private_derived

+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+class private_derived
+    : base
+    , excluded_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + +
NameDescription
derived_shadowed This function should shadow the base class function. + +
do_derived_shadowed This function should shadow the base class function. + +
+ + +
+
+
+

private_derived::derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+private_derived&
+derived_shadowed();
+
+
+
+
+
+
+

private_derived::do_derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+private_derived&
+do_derived_shadowed();
+
+
+
+
+
+
+

protected_derived

+
+Should inherit functions as protected. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+class protected_derived
+    : protected base
+    , protected excluded_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + +
NameDescription
derived_shadowed This function should shadow the base class function. + +
do_derived_shadowed This function should shadow the base class function. + +
+ + +
+
+
+

protected_derived::derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+protected_derived&
+derived_shadowed();
+
+
+
+
+
+
+

protected_derived::do_derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <never.cpp>
+
+
+protected_derived&
+do_derived_shadowed();
+
+
+
+
+ +
+
+

Created with MrDocs

+
+ + \ No newline at end of file diff --git a/test-files/golden-tests/config/inherit-base-members/never.xml b/test-files/golden-tests/config/inherit-base-members/never.xml new file mode 100644 index 0000000000..09c486116d --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/never.xml @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + + + Should inherit functions as protected. + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + diff --git a/test-files/golden-tests/config/inherit-base-members/never.yml b/test-files/golden-tests/config/inherit-base-members/never.yml new file mode 100644 index 0000000000..ae20f219cc --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/never.yml @@ -0,0 +1,3 @@ +inherit-base-members: never +exclude-symbols: + - excluded_base \ No newline at end of file diff --git a/test-files/golden-tests/config/inherit-base-members/reference.adoc b/test-files/golden-tests/config/inherit-base-members/reference.adoc new file mode 100644 index 0000000000..74a1b8dfe8 --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/reference.adoc @@ -0,0 +1,514 @@ += Reference +:mrdocs: + +[#index] +== Global namespace + + +=== Types + +[cols=2] +|=== +| Name | Description + +| <> +| + +| <> +| + +| <> +| + +| <> +| + +| <> +| Should inherit functions as protected. + +|=== + +[#base] +== base + + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class base + : public <>; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +| <> +| This function should be indirectly inherited by derived classes. + +|=== + +=== Protected Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +|=== + + +[#base-base_inherited] +== <>::base_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_inherited(); +---- + +[#base-base_shadowed] +== <>::base_shadowed + + +This function should shadow the excluded_base function. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_shadowed(); +---- + +[#base-derived_shadowed] +== <>::derived_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#base-do_base_inherited] +== <>::do_base_inherited + + +This function should be inherited by derived classes. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_inherited(); +---- + +[#base-do_base_shadowed] +== <>::do_base_shadowed + + +This function should shadow the excluded_base function. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_shadowed(); +---- + +[#base-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should be shadowed by derived classes. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#base_base] +== base_base + + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class base_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be indirectly inherited by derived classes. + +|=== + + + +[#base_base-base_base_inherited] +== <>::base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +base_base_inherited(); +---- + +[#base_base-do_base_base_inherited] +== <>::do_base_base_inherited + + +This function should be indirectly inherited by derived classes. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_base_base_inherited(); +---- + +[#derived] +== derived + + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class derived + : public <> + , public excluded_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should shadow the base class function. + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should shadow the base class function. + +|=== + +=== Protected Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +|=== + + +[#derived-derived_shadowed] +== <>::derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#derived-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#private_derived] +== private_derived + + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class private_derived + : <> + , excluded_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should shadow the base class function. + +| <> +| This function should shadow the base class function. + +|=== + + + +[#private_derived-derived_shadowed] +== <>::derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#private_derived-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + +[#protected_derived] +== protected_derived + + +Should inherit functions as protected. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +class protected_derived + : protected <> + , protected excluded_base; +---- + +=== Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should shadow the base class function. + +| <> +| This function should shadow the base class function. + +|=== + +=== Protected Member Functions + +[cols=2] +|=== +| Name | Description + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +| <> +| This function should be indirectly inherited by derived classes. + +| <> +| This function should be inherited by derived classes. + +| <> +| This function should shadow the excluded_base function. + +| <> +| This function should be shadowed by derived classes. + +|=== + + +[#protected_derived-derived_shadowed] +== <>::derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +derived_shadowed(); +---- + +[#protected_derived-do_derived_shadowed] +== <>::do_derived_shadowed + + +This function should shadow the base class function. + +=== Synopsis + + +Declared in `<reference.cpp>` + +[source,cpp,subs="verbatim,replacements,macros,-callouts"] +---- +<>& +do_derived_shadowed(); +---- + + + +[.small]#Created with https://www.mrdocs.com[MrDocs]# diff --git a/test-files/golden-tests/config/inherit-base-members/reference.cpp b/test-files/golden-tests/config/inherit-base-members/reference.cpp new file mode 100644 index 0000000000..ae1d15ebed --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/reference.cpp @@ -0,0 +1,81 @@ +class excluded_base { +public: + /// This function should be shadowed by derived classes. + excluded_base& derived_shadowed(); + /// This function should be shadowed by the base class. + excluded_base& base_shadowed(); + /// This function should be inherited by derived classes. + excluded_base& excluded_inherited(); +protected: + /// This function should be shadowed by derived classes. + excluded_base& do_shadowed(); + /// This function should be shadowed by the base class. + excluded_base& do_base_shadowed(); + /// This function should be inherited by derived classes. + excluded_base& do_excluded_inherited(); +}; + +class base_base { +public: + /// This function should be indirectly inherited by derived classes. + base_base& base_base_inherited(); +public: + /// This function should be indirectly inherited by derived classes. + base_base& do_base_base_inherited(); +}; + +class base : + public base_base +{ +public: + /// This function should be shadowed by derived classes. + base& derived_shadowed(); + /// This function should shadow the excluded_base function. + base& base_shadowed(); + /// This function should be inherited by derived classes. + base& base_inherited(); +protected: + /// This function should be shadowed by derived classes. + base& do_derived_shadowed(); + /// This function should shadow the excluded_base function. + base& do_base_shadowed(); + /// This function should be inherited by derived classes. + base& do_base_inherited(); +}; + +class derived + : public base + , public excluded_base +{ +public: + /// This function should shadow the base class function. + derived& derived_shadowed(); +public: + /// This function should shadow the base class function. + derived& do_derived_shadowed(); +}; + +/// Should inherit functions as protected. +class protected_derived + : protected base + , protected excluded_base +{ +public: + /// This function should shadow the base class function. + protected_derived& derived_shadowed(); +public: + /// This function should shadow the base class function. + protected_derived& do_derived_shadowed(); +}; + +class private_derived + : private base + , private excluded_base +{ +public: + /// This function should shadow the base class function. + private_derived& derived_shadowed(); +public: + /// This function should shadow the base class function. + private_derived& do_derived_shadowed(); +}; diff --git a/test-files/golden-tests/config/inherit-base-members/reference.html b/test-files/golden-tests/config/inherit-base-members/reference.html new file mode 100644 index 0000000000..4137675716 --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/reference.html @@ -0,0 +1,613 @@ + + +Reference + + +
+

Reference

+
+
+

Global namespace

+
+

Types

+ + + + + + + + + + + + + + +
NameDescription
base +
base_base +
derived +
private_derived +
protected_derived Should inherit functions as protected. + +
+
+
+
+

base

+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+class base
+    : public base_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + + + + +
NameDescription
base_base_inherited This function should be indirectly inherited by derived classes. + +
base_inherited This function should be inherited by derived classes. + +
base_shadowed This function should shadow the excluded_base function. + +
derived_shadowed This function should be shadowed by derived classes. + +
do_base_base_inherited This function should be indirectly inherited by derived classes. + +
+ +

Protected Member Functions

+ + + + + + + + + + + + +
NameDescription
do_base_inherited This function should be inherited by derived classes. + +
do_base_shadowed This function should shadow the excluded_base function. + +
do_derived_shadowed This function should be shadowed by derived classes. + +
+ +
+
+
+

base::base_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+base&
+base_inherited();
+
+
+
+
+
+
+

base::base_shadowed

+
+This function should shadow the excluded_base function. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+base&
+base_shadowed();
+
+
+
+
+
+
+

base::derived_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+base&
+derived_shadowed();
+
+
+
+
+
+
+

base::do_base_inherited

+
+This function should be inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+base&
+do_base_inherited();
+
+
+
+
+
+
+

base::do_base_shadowed

+
+This function should shadow the excluded_base function. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+base&
+do_base_shadowed();
+
+
+
+
+
+
+

base::do_derived_shadowed

+
+This function should be shadowed by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+base&
+do_derived_shadowed();
+
+
+
+
+
+
+

base_base

+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+class base_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + +
NameDescription
base_base_inherited This function should be indirectly inherited by derived classes. + +
do_base_base_inherited This function should be indirectly inherited by derived classes. + +
+ + +
+
+
+

base_base::base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+base_base&
+base_base_inherited();
+
+
+
+
+
+
+

base_base::do_base_base_inherited

+
+This function should be indirectly inherited by derived classes. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+base_base&
+do_base_base_inherited();
+
+
+
+
+
+
+

derived

+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+class derived
+    : public base
+    , public excluded_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + + + + + +
NameDescription
base_base_inherited This function should be indirectly inherited by derived classes. + +
base_inherited This function should be inherited by derived classes. + +
base_shadowed This function should shadow the excluded_base function. + +
derived_shadowed This function should shadow the base class function. + +
do_base_base_inherited This function should be indirectly inherited by derived classes. + +
do_derived_shadowed This function should shadow the base class function. + +
+ +

Protected Member Functions

+ + + + + + + + + + + + +
NameDescription
do_base_inherited This function should be inherited by derived classes. + +
do_base_shadowed This function should shadow the excluded_base function. + +
do_derived_shadowed This function should be shadowed by derived classes. + +
+ +
+
+
+

derived::derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+derived&
+derived_shadowed();
+
+
+
+
+
+
+

derived::do_derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+derived&
+do_derived_shadowed();
+
+
+
+
+
+
+

private_derived

+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+class private_derived
+    : base
+    , excluded_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + +
NameDescription
derived_shadowed This function should shadow the base class function. + +
do_derived_shadowed This function should shadow the base class function. + +
+ + +
+
+
+

private_derived::derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+private_derived&
+derived_shadowed();
+
+
+
+
+
+
+

private_derived::do_derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+private_derived&
+do_derived_shadowed();
+
+
+
+
+
+
+

protected_derived

+
+Should inherit functions as protected. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+class protected_derived
+    : protected base
+    , protected excluded_base;
+
+
+
+

Member Functions

+ + + + + + + + + + + +
NameDescription
derived_shadowed This function should shadow the base class function. + +
do_derived_shadowed This function should shadow the base class function. + +
+ +

Protected Member Functions

+ + + + + + + + + + + + + + + + + +
NameDescription
base_base_inherited This function should be indirectly inherited by derived classes. + +
base_inherited This function should be inherited by derived classes. + +
base_shadowed This function should shadow the excluded_base function. + +
derived_shadowed This function should be shadowed by derived classes. + +
do_base_base_inherited This function should be indirectly inherited by derived classes. + +
do_base_inherited This function should be inherited by derived classes. + +
do_base_shadowed This function should shadow the excluded_base function. + +
do_derived_shadowed This function should be shadowed by derived classes. + +
+ +
+
+
+

protected_derived::derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+protected_derived&
+derived_shadowed();
+
+
+
+
+
+
+

protected_derived::do_derived_shadowed

+
+This function should shadow the base class function. + + +
+
+
+

Synopsis

+
+Declared in <reference.cpp>
+
+
+protected_derived&
+do_derived_shadowed();
+
+
+
+
+ +
+
+

Created with MrDocs

+
+ + \ No newline at end of file diff --git a/test-files/golden-tests/config/inherit-base-members/reference.xml b/test-files/golden-tests/config/inherit-base-members/reference.xml new file mode 100644 index 0000000000..a9fc508f89 --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/reference.xml @@ -0,0 +1,450 @@ + + + + + + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + + + Should inherit functions as protected. + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + + + + + + + + This function should be indirectly inherited by derived classes. + + + + + + + + + + + + + This function should be inherited by derived classes. + + + + + + + + + + + + + This function should shadow the excluded_base function. + + + + + + + + + + + + + This function should shadow the base class function. + + + + + + + + + + + + + This function should be shadowed by derived classes. + + + + + + diff --git a/test-files/golden-tests/config/inherit-base-members/reference.yml b/test-files/golden-tests/config/inherit-base-members/reference.yml new file mode 100644 index 0000000000..f13aa554cc --- /dev/null +++ b/test-files/golden-tests/config/inherit-base-members/reference.yml @@ -0,0 +1,3 @@ +inherit-base-members: reference +exclude-symbols: + - excluded_base \ No newline at end of file diff --git a/test-files/golden-tests/core/mrdocs.yml b/test-files/golden-tests/core/mrdocs.yml deleted file mode 100644 index 63cf197efb..0000000000 --- a/test-files/golden-tests/core/mrdocs.yml +++ /dev/null @@ -1 +0,0 @@ -source-root: . \ No newline at end of file diff --git a/test-files/golden-tests/filters/file/mrdocs.yml b/test-files/golden-tests/filters/file/mrdocs.yml deleted file mode 100644 index 63cf197efb..0000000000 --- a/test-files/golden-tests/filters/file/mrdocs.yml +++ /dev/null @@ -1 +0,0 @@ -source-root: . \ No newline at end of file diff --git a/test-files/golden-tests/filters/symbol-name/mrdocs.yml b/test-files/golden-tests/filters/symbol-name/mrdocs.yml deleted file mode 100644 index 63cf197efb..0000000000 --- a/test-files/golden-tests/filters/symbol-name/mrdocs.yml +++ /dev/null @@ -1 +0,0 @@ -source-root: . \ No newline at end of file diff --git a/test-files/golden-tests/filters/symbol-type/mrdocs.yml b/test-files/golden-tests/filters/symbol-type/mrdocs.yml deleted file mode 100644 index 63cf197efb..0000000000 --- a/test-files/golden-tests/filters/symbol-type/mrdocs.yml +++ /dev/null @@ -1 +0,0 @@ -source-root: . \ No newline at end of file diff --git a/test-files/golden-tests/javadoc/brief-3.adoc b/test-files/golden-tests/javadoc/brief-3.adoc index 5a2833dc60..8899566156 100644 --- a/test-files/golden-tests/javadoc/brief-3.adoc +++ b/test-files/golden-tests/javadoc/brief-3.adoc @@ -29,7 +29,7 @@ void <>(int); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -37,7 +37,7 @@ void <>(char const*); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -45,7 +45,7 @@ void <>(double); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -53,7 +53,7 @@ void <>(float const*); ---- -[.small]#<># +[.small]#<># [#f-06] == f diff --git a/test-files/golden-tests/javadoc/mrdocs.yml b/test-files/golden-tests/javadoc/mrdocs.yml deleted file mode 100644 index eee2ef0cd9..0000000000 --- a/test-files/golden-tests/javadoc/mrdocs.yml +++ /dev/null @@ -1,4 +0,0 @@ -#ignore-failures: true -concurrency: 1 -source-root: . -single-page: true diff --git a/test-files/golden-tests/metadata/explicit-ctor.adoc b/test-files/golden-tests/metadata/explicit-ctor.adoc index 1e2cfe38d7..786f66ebfc 100644 --- a/test-files/golden-tests/metadata/explicit-ctor.adoc +++ b/test-files/golden-tests/metadata/explicit-ctor.adoc @@ -57,7 +57,7 @@ explicit <>(); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -65,7 +65,7 @@ explicit <>(<> const&); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -73,7 +73,7 @@ explicit <>(<>&&) noexcept; ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -83,7 +83,7 @@ explicit int); ---- -[.small]#<># +[.small]#<># [#Explicit-2constructor-02] == <>::Explicit @@ -188,7 +188,7 @@ explicit(B) <>(); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -196,7 +196,7 @@ explicit(B) <>(<> const&); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -204,7 +204,7 @@ explicit(B) <>(<>&&) noexcept; ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -214,7 +214,7 @@ explicit(B) int); ---- -[.small]#<># +[.small]#<># [#ExplicitExpression-2constructor-0b] == <>::ExplicitExpression @@ -318,7 +318,7 @@ explicit(false) <>(); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -326,7 +326,7 @@ explicit(false) <>(<> const&); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -334,7 +334,7 @@ explicit(false) <>(<>&&) noexcept; ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -344,7 +344,7 @@ explicit(false) int); ---- -[.small]#<># +[.small]#<># [#ExplicitFalse-2constructor-01] == <>::ExplicitFalse @@ -448,7 +448,7 @@ explicit(true) <>(); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -456,7 +456,7 @@ explicit(true) <>(<> const&); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -464,7 +464,7 @@ explicit(true) <>(<>&&) noexcept; ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -474,7 +474,7 @@ explicit(true) int); ---- -[.small]#<># +[.small]#<># [#ExplicitTrue-2constructor-0d] == <>::ExplicitTrue diff --git a/test-files/golden-tests/metadata/explicit-object-parameter.adoc b/test-files/golden-tests/metadata/explicit-object-parameter.adoc index ee7f195b63..cb9eb33ecd 100644 --- a/test-files/golden-tests/metadata/explicit-object-parameter.adoc +++ b/test-files/golden-tests/metadata/explicit-object-parameter.adoc @@ -56,7 +56,7 @@ auto&& <>(this Self&& self); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -68,7 +68,7 @@ auto&& int x); ---- -[.small]#<># +[.small]#<># [#Optional-value-05] == <>::value diff --git a/test-files/golden-tests/metadata/function-template-template.adoc b/test-files/golden-tests/metadata/function-template-template.adoc index 5c2e4fb854..a54ff770fc 100644 --- a/test-files/golden-tests/metadata/function-template-template.adoc +++ b/test-files/golden-tests/metadata/function-template-template.adoc @@ -25,7 +25,7 @@ Declared in `<function‐template‐template.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -template<template<class...> typename ListType> +template<template<class...> typename ListType> constexpr void f(ListType<int> param); diff --git a/test-files/golden-tests/metadata/mem-fn.adoc b/test-files/golden-tests/metadata/mem-fn.adoc index 5de243d2d8..2037b3be67 100644 --- a/test-files/golden-tests/metadata/mem-fn.adoc +++ b/test-files/golden-tests/metadata/mem-fn.adoc @@ -470,7 +470,7 @@ Declared in `<mem‐fn.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- void -f(...); +f(...); ---- [#T13] @@ -725,7 +725,7 @@ Declared in `<mem‐fn.cpp>` ---- constexpr void -f1(...) const volatile noexcept; +f1(...) const volatile noexcept; ---- [#U-f2] diff --git a/test-files/golden-tests/metadata/overloads.adoc b/test-files/golden-tests/metadata/overloads.adoc index 7204017678..35a6d7a7aa 100644 --- a/test-files/golden-tests/metadata/overloads.adoc +++ b/test-files/golden-tests/metadata/overloads.adoc @@ -81,7 +81,7 @@ void <>(); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -89,7 +89,7 @@ int <>(int); ---- -[.small]#<># +[.small]#<># [#A-f-08] == <>::f @@ -137,7 +137,7 @@ void <>(); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -146,7 +146,7 @@ int <>(int); ---- -[.small]#<># +[.small]#<># [#A-g-0a] == <>::g @@ -248,7 +248,7 @@ void <>(); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -256,7 +256,7 @@ int <>(int); ---- -[.small]#<># +[.small]#<># [#f-0b] == f @@ -305,7 +305,7 @@ bool <>); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -315,7 +315,7 @@ bool int); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -325,7 +325,7 @@ bool <>); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -335,7 +335,7 @@ bool int); ---- -[.small]#<># +[.small]#<># [#operator_eq-0a] == operator== diff --git a/test-files/golden-tests/metadata/record-inheritance.adoc b/test-files/golden-tests/metadata/record-inheritance.adoc index af82dd2e2b..ed4b5a927e 100644 --- a/test-files/golden-tests/metadata/record-inheritance.adoc +++ b/test-files/golden-tests/metadata/record-inheritance.adoc @@ -292,9 +292,9 @@ Declared in `<record‐inheritance.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -template<typename... Ts> +template<typename... Ts> struct S6 - : Ts...; + : Ts...; ---- diff --git a/test-files/golden-tests/metadata/requires-clause.adoc b/test-files/golden-tests/metadata/requires-clause.adoc index 7664fc45aa..1a56dc6256 100644 --- a/test-files/golden-tests/metadata/requires-clause.adoc +++ b/test-files/golden-tests/metadata/requires-clause.adoc @@ -96,7 +96,7 @@ void <>(); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -106,7 +106,7 @@ void <>(); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -116,7 +116,7 @@ void <>(); ---- -[.small]#<># +[.small]#<># [#g-00] == g diff --git a/test-files/golden-tests/metadata/using-3.adoc b/test-files/golden-tests/metadata/using-3.adoc index 401186dad5..aa044b82ad 100644 --- a/test-files/golden-tests/metadata/using-3.adoc +++ b/test-files/golden-tests/metadata/using-3.adoc @@ -147,7 +147,7 @@ void <>(int); ---- -[.small]#<># +[.small]#<># [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -155,7 +155,7 @@ void <>(bool); ---- -[.small]#<># +[.small]#<># [#A-f] == <>::f diff --git a/test-files/golden-tests/metadata/variadic-function.adoc b/test-files/golden-tests/metadata/variadic-function.adoc index 246801e56a..bdd0fde9d7 100644 --- a/test-files/golden-tests/metadata/variadic-function.adoc +++ b/test-files/golden-tests/metadata/variadic-function.adoc @@ -37,8 +37,8 @@ Declared in `<variadic‐function.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< - typename A = void(...), - typename B = void(int, ...)> + typename A = void(...), + typename B = void(int, ...)> struct C; ---- @@ -57,7 +57,7 @@ Declared in `<variadic‐function.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- void -f(...); +f(...); ---- [#g] @@ -72,7 +72,7 @@ Declared in `<variadic‐function.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- void -g(int, ...); +g(int, ...); ---- [#T] @@ -86,7 +86,7 @@ Declared in `<variadic‐function.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -using T = void(...); +using T = void(...); ---- [#U] @@ -100,7 +100,7 @@ Declared in `<variadic‐function.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- -using U = void(int, ...); +using U = void(int, ...); ---- diff --git a/test-files/golden-tests/output/mrdocs.yml b/test-files/golden-tests/output/mrdocs.yml deleted file mode 100644 index eee2ef0cd9..0000000000 --- a/test-files/golden-tests/output/mrdocs.yml +++ /dev/null @@ -1,4 +0,0 @@ -#ignore-failures: true -concurrency: 1 -source-root: . -single-page: true diff --git a/test-files/golden-tests/templates/c_mct_expl_inline.adoc b/test-files/golden-tests/templates/c_mct_expl_inline.adoc index 3f33ad6279..b8f5db6714 100644 --- a/test-files/golden-tests/templates/c_mct_expl_inline.adoc +++ b/test-files/golden-tests/templates/c_mct_expl_inline.adoc @@ -21,7 +21,7 @@ === Synopsis -Declared in `<templates/c_mct_expl_inline.cpp>` +Declared in `<c_mct_expl_inline.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -47,7 +47,7 @@ struct A; === Synopsis -Declared in `<templates/c_mct_expl_inline.cpp>` +Declared in `<c_mct_expl_inline.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -73,7 +73,7 @@ struct B; === Synopsis -Declared in `<templates/c_mct_expl_inline.cpp>` +Declared in `<c_mct_expl_inline.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -88,7 +88,7 @@ f(); === Synopsis -Declared in `<templates/c_mct_expl_inline.cpp>` +Declared in `<c_mct_expl_inline.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- @@ -114,7 +114,7 @@ struct <><int>; === Synopsis -Declared in `<templates/c_mct_expl_inline.cpp>` +Declared in `<c_mct_expl_inline.cpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- diff --git a/test-files/golden-tests/templates/c_mct_expl_inline.html b/test-files/golden-tests/templates/c_mct_expl_inline.html index ce1f8e99b4..448c8524f6 100644 --- a/test-files/golden-tests/templates/c_mct_expl_inline.html +++ b/test-files/golden-tests/templates/c_mct_expl_inline.html @@ -29,7 +29,7 @@

A

Synopsis

-Declared in <templates/c_mct_expl_inline.cpp>
+Declared in <c_mct_expl_inline.cpp>
 
 struct A;
@@ -59,7 +59,7 @@ 

A::B

Synopsis

-Declared in <templates/c_mct_expl_inline.cpp>
+Declared in <c_mct_expl_inline.cpp>
 
 template<typename T>
@@ -89,7 +89,7 @@ 

A::B::f

Synopsis

-Declared in <templates/c_mct_expl_inline.cpp>
+Declared in <c_mct_expl_inline.cpp>
 
 void
@@ -105,7 +105,7 @@ 

A::B<int>

Synopsis

-Declared in <templates/c_mct_expl_inline.cpp>
+Declared in <c_mct_expl_inline.cpp>
 
 template<>
@@ -135,7 +135,7 @@ 

A::B<int>::g

Synopsis

-Declared in <templates/c_mct_expl_inline.cpp>
+Declared in <c_mct_expl_inline.cpp>
 
 void
diff --git a/test-files/golden-tests/templates/c_mct_expl_inline.xml b/test-files/golden-tests/templates/c_mct_expl_inline.xml
index 61c07c1534..fdd9a3b0fa 100644
--- a/test-files/golden-tests/templates/c_mct_expl_inline.xml
+++ b/test-files/golden-tests/templates/c_mct_expl_inline.xml
@@ -3,22 +3,22 @@
        xsi:noNamespaceSchemaLocation="https://github.com/cppalliance/mrdocs/raw/develop/mrdocs.rnc">
 
   
-    
+    
     
     
diff --git a/test-files/golden-tests/templates/c_mct_expl_outside.adoc b/test-files/golden-tests/templates/c_mct_expl_outside.adoc
index 01695a373a..2bb4fa8f8c 100644
--- a/test-files/golden-tests/templates/c_mct_expl_outside.adoc
+++ b/test-files/golden-tests/templates/c_mct_expl_outside.adoc
@@ -21,7 +21,7 @@
 === Synopsis
 
 
-Declared in `<templates/c_mct_expl_outside.cpp>`
+Declared in `<c_mct_expl_outside.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -47,7 +47,7 @@ struct A;
 === Synopsis
 
 
-Declared in `<templates/c_mct_expl_outside.cpp>`
+Declared in `<c_mct_expl_outside.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -73,7 +73,7 @@ struct B;
 === Synopsis
 
 
-Declared in `<templates/c_mct_expl_outside.cpp>`
+Declared in `<c_mct_expl_outside.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -88,7 +88,7 @@ f();
 === Synopsis
 
 
-Declared in `<templates/c_mct_expl_outside.cpp>`
+Declared in `<c_mct_expl_outside.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -114,7 +114,7 @@ struct <><int>;
 === Synopsis
 
 
-Declared in `<templates/c_mct_expl_outside.cpp>`
+Declared in `<c_mct_expl_outside.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
diff --git a/test-files/golden-tests/templates/c_mct_expl_outside.html b/test-files/golden-tests/templates/c_mct_expl_outside.html
index 9fdc29a51e..cc907925f0 100644
--- a/test-files/golden-tests/templates/c_mct_expl_outside.html
+++ b/test-files/golden-tests/templates/c_mct_expl_outside.html
@@ -29,7 +29,7 @@ 

A

Synopsis

-Declared in <templates/c_mct_expl_outside.cpp>
+Declared in <c_mct_expl_outside.cpp>
 
 struct A;
@@ -59,7 +59,7 @@ 

A::B

Synopsis

-Declared in <templates/c_mct_expl_outside.cpp>
+Declared in <c_mct_expl_outside.cpp>
 
 template<typename T>
@@ -89,7 +89,7 @@ 

A::B::f

Synopsis

-Declared in <templates/c_mct_expl_outside.cpp>
+Declared in <c_mct_expl_outside.cpp>
 
 void
@@ -105,7 +105,7 @@ 

A::B<int>

Synopsis

-Declared in <templates/c_mct_expl_outside.cpp>
+Declared in <c_mct_expl_outside.cpp>
 
 template<>
@@ -135,7 +135,7 @@ 

A::B<int>::g

Synopsis

-Declared in <templates/c_mct_expl_outside.cpp>
+Declared in <c_mct_expl_outside.cpp>
 
 void
diff --git a/test-files/golden-tests/templates/c_mct_expl_outside.xml b/test-files/golden-tests/templates/c_mct_expl_outside.xml
index dc96a4f0b5..6668007c33 100644
--- a/test-files/golden-tests/templates/c_mct_expl_outside.xml
+++ b/test-files/golden-tests/templates/c_mct_expl_outside.xml
@@ -3,22 +3,22 @@
        xsi:noNamespaceSchemaLocation="https://github.com/cppalliance/mrdocs/raw/develop/mrdocs.rnc">
 
   
-    
+    
     
     
diff --git a/test-files/golden-tests/templates/c_mft_expl_inline.adoc b/test-files/golden-tests/templates/c_mft_expl_inline.adoc
index 739e483adb..7ef0150854 100644
--- a/test-files/golden-tests/templates/c_mft_expl_inline.adoc
+++ b/test-files/golden-tests/templates/c_mft_expl_inline.adoc
@@ -21,7 +21,7 @@
 === Synopsis
 
 
-Declared in `<templates/c_mft_expl_inline.cpp>`
+Declared in `<c_mft_expl_inline.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -46,7 +46,7 @@ struct A;
 === Synopsis
 
 
-Declared in `<templates/c_mft_expl_inline.cpp>`
+Declared in `<c_mft_expl_inline.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -55,7 +55,7 @@ void
 <>();
 ----
 
-[.small]#<>#
+[.small]#<>#
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -64,7 +64,7 @@ void
 <><int>();
 ----
 
-[.small]#<>#
+[.small]#<>#
 
 [#A-f-0e]
 == <>::f
@@ -73,7 +73,7 @@ void
 === Synopsis
 
 
-Declared in `<templates/c_mft_expl_inline.cpp>`
+Declared in `<c_mft_expl_inline.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -89,7 +89,7 @@ f();
 === Synopsis
 
 
-Declared in `<templates/c_mft_expl_inline.cpp>`
+Declared in `<c_mft_expl_inline.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
diff --git a/test-files/golden-tests/templates/c_mft_expl_inline.html b/test-files/golden-tests/templates/c_mft_expl_inline.html
index 380f53440f..51e1da398f 100644
--- a/test-files/golden-tests/templates/c_mft_expl_inline.html
+++ b/test-files/golden-tests/templates/c_mft_expl_inline.html
@@ -29,7 +29,7 @@ 

A

Synopsis

-Declared in <templates/c_mft_expl_inline.cpp>
+Declared in <c_mft_expl_inline.cpp>
 
 struct A;
@@ -58,7 +58,7 @@ 

A::f

Synopsis

-Declared in <templates/c_mft_expl_inline.cpp>
+Declared in <c_mft_expl_inline.cpp>
 
 template<typename T>
@@ -85,7 +85,7 @@ 

A::f

Synopsis

-Declared in <templates/c_mft_expl_inline.cpp>
+Declared in <c_mft_expl_inline.cpp>
 
 template<typename T>
@@ -102,7 +102,7 @@ 

A::f<int>

Synopsis

-Declared in <templates/c_mft_expl_inline.cpp>
+Declared in <c_mft_expl_inline.cpp>
 
 template<>
diff --git a/test-files/golden-tests/templates/c_mft_expl_inline.xml b/test-files/golden-tests/templates/c_mft_expl_inline.xml
index 693b4e15f3..d02c4ce52d 100644
--- a/test-files/golden-tests/templates/c_mft_expl_inline.xml
+++ b/test-files/golden-tests/templates/c_mft_expl_inline.xml
@@ -3,17 +3,17 @@
        xsi:noNamespaceSchemaLocation="https://github.com/cppalliance/mrdocs/raw/develop/mrdocs.rnc">
 
   
-    
+    
     
     
   
diff --git a/test-files/golden-tests/templates/c_mft_expl_outside.adoc b/test-files/golden-tests/templates/c_mft_expl_outside.adoc
index 2c8a0db122..c7c3f81a41 100644
--- a/test-files/golden-tests/templates/c_mft_expl_outside.adoc
+++ b/test-files/golden-tests/templates/c_mft_expl_outside.adoc
@@ -21,7 +21,7 @@
 === Synopsis
 
 
-Declared in `<templates/c_mft_expl_outside.cpp>`
+Declared in `<c_mft_expl_outside.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -46,7 +46,7 @@ struct A;
 === Synopsis
 
 
-Declared in `<templates/c_mft_expl_outside.cpp>`
+Declared in `<c_mft_expl_outside.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -55,7 +55,7 @@ void
 <>();
 ----
 
-[.small]#<>#
+[.small]#<>#
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -64,7 +64,7 @@ void
 <><int>();
 ----
 
-[.small]#<>#
+[.small]#<>#
 
 [#A-f-0e]
 == <>::f
@@ -73,7 +73,7 @@ void
 === Synopsis
 
 
-Declared in `<templates/c_mft_expl_outside.cpp>`
+Declared in `<c_mft_expl_outside.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -89,7 +89,7 @@ f();
 === Synopsis
 
 
-Declared in `<templates/c_mft_expl_outside.cpp>`
+Declared in `<c_mft_expl_outside.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
diff --git a/test-files/golden-tests/templates/c_mft_expl_outside.html b/test-files/golden-tests/templates/c_mft_expl_outside.html
index 62f9f68d61..6c628bb66c 100644
--- a/test-files/golden-tests/templates/c_mft_expl_outside.html
+++ b/test-files/golden-tests/templates/c_mft_expl_outside.html
@@ -29,7 +29,7 @@ 

A

Synopsis

-Declared in <templates/c_mft_expl_outside.cpp>
+Declared in <c_mft_expl_outside.cpp>
 
 struct A;
@@ -58,7 +58,7 @@ 

A::f

Synopsis

-Declared in <templates/c_mft_expl_outside.cpp>
+Declared in <c_mft_expl_outside.cpp>
 
 template<typename T>
@@ -85,7 +85,7 @@ 

A::f

Synopsis

-Declared in <templates/c_mft_expl_outside.cpp>
+Declared in <c_mft_expl_outside.cpp>
 
 template<typename T>
@@ -102,7 +102,7 @@ 

A::f<int>

Synopsis

-Declared in <templates/c_mft_expl_outside.cpp>
+Declared in <c_mft_expl_outside.cpp>
 
 template<>
diff --git a/test-files/golden-tests/templates/c_mft_expl_outside.xml b/test-files/golden-tests/templates/c_mft_expl_outside.xml
index 9aeebbe7e2..c9ca426709 100644
--- a/test-files/golden-tests/templates/c_mft_expl_outside.xml
+++ b/test-files/golden-tests/templates/c_mft_expl_outside.xml
@@ -3,17 +3,17 @@
        xsi:noNamespaceSchemaLocation="https://github.com/cppalliance/mrdocs/raw/develop/mrdocs.rnc">
 
   
-    
+    
     
     
   
diff --git a/test-files/golden-tests/templates/ct_expl.adoc b/test-files/golden-tests/templates/ct_expl.adoc
index 05202366eb..3b1cf127c6 100644
--- a/test-files/golden-tests/templates/ct_expl.adoc
+++ b/test-files/golden-tests/templates/ct_expl.adoc
@@ -22,7 +22,7 @@
 === Synopsis
 
 
-Declared in `<templates/ct_expl.cpp>`
+Declared in `<ct_expl.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -48,7 +48,7 @@ struct A;
 === Synopsis
 
 
-Declared in `<templates/ct_expl.cpp>`
+Declared in `<ct_expl.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -63,7 +63,7 @@ f();
 === Synopsis
 
 
-Declared in `<templates/ct_expl.cpp>`
+Declared in `<ct_expl.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -89,7 +89,7 @@ struct <><int>;
 === Synopsis
 
 
-Declared in `<templates/ct_expl.cpp>`
+Declared in `<ct_expl.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
diff --git a/test-files/golden-tests/templates/ct_expl.html b/test-files/golden-tests/templates/ct_expl.html
index dfbe2a97e6..17ae8bdd7b 100644
--- a/test-files/golden-tests/templates/ct_expl.html
+++ b/test-files/golden-tests/templates/ct_expl.html
@@ -30,7 +30,7 @@ 

A

Synopsis

-Declared in <templates/ct_expl.cpp>
+Declared in <ct_expl.cpp>
 
 template<typename T>
@@ -60,7 +60,7 @@ 

A::f

Synopsis

-Declared in <templates/ct_expl.cpp>
+Declared in <ct_expl.cpp>
 
 void
@@ -76,7 +76,7 @@ 

A<int>

Synopsis

-Declared in <templates/ct_expl.cpp>
+Declared in <ct_expl.cpp>
 
 template<>
@@ -106,7 +106,7 @@ 

A<int>::g

Synopsis

-Declared in <templates/ct_expl.cpp>
+Declared in <ct_expl.cpp>
 
 void
diff --git a/test-files/golden-tests/templates/ct_expl.xml b/test-files/golden-tests/templates/ct_expl.xml
index e1beaab4d6..c9160d07d9 100644
--- a/test-files/golden-tests/templates/ct_expl.xml
+++ b/test-files/golden-tests/templates/ct_expl.xml
@@ -5,18 +5,18 @@
   
   
diff --git a/test-files/golden-tests/templates/ct_mc.adoc b/test-files/golden-tests/templates/ct_mc.adoc
index 1f7ec54c87..c8260af2b6 100644
--- a/test-files/golden-tests/templates/ct_mc.adoc
+++ b/test-files/golden-tests/templates/ct_mc.adoc
@@ -21,7 +21,7 @@
 === Synopsis
 
 
-Declared in `<templates/ct_mc.cpp>`
+Declared in `<ct_mc.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -47,7 +47,7 @@ struct A;
 === Synopsis
 
 
-Declared in `<templates/ct_mc.cpp>`
+Declared in `<ct_mc.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
@@ -72,7 +72,7 @@ struct B;
 === Synopsis
 
 
-Declared in `<templates/ct_mc.cpp>`
+Declared in `<ct_mc.cpp>`
 
 [source,cpp,subs="verbatim,replacements,macros,-callouts"]
 ----
diff --git a/test-files/golden-tests/templates/ct_mc.html b/test-files/golden-tests/templates/ct_mc.html
index b260ffb8cd..850897edc8 100644
--- a/test-files/golden-tests/templates/ct_mc.html
+++ b/test-files/golden-tests/templates/ct_mc.html
@@ -29,7 +29,7 @@ 

A

Synopsis

-Declared in <templates/ct_mc.cpp>
+Declared in <ct_mc.cpp>
 
 template<typename T>
@@ -59,7 +59,7 @@ 

A::B

Synopsis

-Declared in <templates/ct_mc.cpp>
+Declared in <ct_mc.cpp>
 
 struct B;
@@ -88,7 +88,7 @@ 

A::B::f

Synopsis

-Declared in <templates/ct_mc.cpp>
+Declared in <ct_mc.cpp>
 
 void
diff --git a/test-files/golden-tests/templates/ct_mc.xml b/test-files/golden-tests/templates/ct_mc.xml
index 856f6d2db1..3db4604ff5 100644
--- a/test-files/golden-tests/templates/ct_mc.xml
+++ b/test-files/golden-tests/templates/ct_mc.xml
@@ -5,11 +5,11 @@