mrdocs::Config

Configuration used to generate the Corpus and Docs.

Synopsis

Declared in <mrdocs/Config.hpp>

class Config
    : public ConfigSchema

Description

Holds the public options (in their original data types) read from the command line and the YAML file, plus the DOM view of those options that templates consume. It is a plain value: copy or move it freely, and pass it by reference to the steps that need it.

The configuration is connected to the directory of the mrdocs.yml file, from which absolute paths are resolved from relative paths. Reference directories (working directory, mrdocs root) are not stored here; they flow through the workflow as a separate ReferenceDirectories.

Base Classes

Name

Description

ConfigSchema

Types

Name

Description

CommandLineOptionInfo

Command‐line help metadata for one option.

OptionProperties

Option validation traits

Enums

Name

Description

BaseMemberInheritance

Enum for "base‐member‐inheritance" options

LogLevel

Enum for "log‐level" options

OptionType

Option Type

SortSymbolBy

Enum for "sort‐symbol‐by" options

Member Functions

Name

Description

configDir

Full path to the config file directory.

forEach

Call f(name, member) for every option

forwardDeprecated

Forward a supplied deprecated option onto its replacement.

handleDeprecatedKey

Handle a supplied option that the schema marks deprecated.

normalize

normalize overloads

reportDeprecatedConfigKeys

Warn about deprecated options that were supplied.

reportUnknownConfigKeys

Warn about configuration keys that match no known option.

Static Member Functions

Name

Description

commandLineOptionInfos

Every option with its command‐line help metadata.

deprecationNote

The deprecation note of a deprecated option.

fromString

isDeprecated

Whether an option is deprecated.

load

Load the configuration options from a YAML string and command line.

load_file

load_file overloads

toString

Data Members

Name

Description

addons

Path to the Addons directory

addonsSupplemental

Additional addons layered on top of the base addons

autoBrief

command is required.

autoFunctionMetadata

Automatically provide missing documentation for special functions and trivial metadata

autoFunctionObjects

Automatically detect algorithm function objects

autoRelates

Automatically find non‐member functions

baseUrl

Base URL for links to source code

clangResourceDir

Clang resource directory

cmake

CMake arguments when generating the compilation database from CMakeLists.txt

cmakeBuildDir

Directory for the CMake build that generates the compilation database

cmdLineInputs

Configuration or compilation database files

compilationDatabase

Path to the compilation database

concurrency

Number of threads to use

config

Mr.Docs configuration file

copycss

Copy local stylesheets when linking

defines

Additional defines passed to the compiler

embedded

Output an embeddable document

errorOnEmptyCorpus

Treat an empty corpus as an error

exclude

Input directories to exclude

excludeMacros

Macro patterns to exclude

excludePatterns

File patterns to exclude

excludeSymbols

Symbol patterns to exclude

extractAll

Extract all symbols

extractAllMacros

Extract all macros

extractAnonymousNamespaces

Extraction policy for anonymous namespaces

extractEmptyNamespaces

Extraction policy for empty namespaces

extractFriends

Deprecated: friends are always extracted

extractImplicitBaseClasses

Implicit template specializations used as base classes are extracted as dependencies

extractImplicitSpecializations

Implicit template specializations used as base classes are extracted as dependencies

extractLocalClasses

Extraction policy for records defined locally in source files

extractPrivate

Extraction policy for private class members

extractPrivateBases

Extraction policy for private base classes

extractPrivateVirtual

Extraction policy for private virtual methods of a class

extractStatic

Extraction policy for static members of a file

filePatterns

File patterns to include

generator

Generator(s) used to create the documentation

generatorOptions

Per‐generator settings keyed by generator id

globalNamespaceIndex

Use the global namespace page as an index for all symbols

ignoreFailures

Whether AST visitation failures should not stop the program

ignoreMapErrors

Continue if files are not mapped correctly

implementationDefined

Symbols rendered as "implementation‐defined"

includeMacros

Macro patterns to include

includeSymbols

Symbol patterns to include

includes

Include paths

inheritBaseMembers

Determine how derived classes inherit base members

inheritHiddenFriends

Determine how derived classes inherit hidden friends of base classes

input

Input directories to extract symbols from

legibleNames

Use legible names for anchors

libcIncludes

Standard Library include paths

linkcss

Link stylesheets instead of embedding them

logLevel

The minimum reporting level

maxErrors

Stop after this many documentation errors

missingIncludePrefixes

Include path prefixes allowed to be missing

missingIncludeShims

Shims for forgiven missing include files

multipage

Generate a multipage documentation

noDefaultStyles

Disable the bundled default stylesheet

nonStandardAttributes

Include non‐standard attributes in the documentation

output

Output directory for the generated documentation

overloads

Detect and group function overloads

recursive

Recursively include files from "input" paths

report

The minimum reporting level

seeBelow

Exposition only symbols rendered as "see‐below".

sfinae

Detect and reduce SFINAE expressions

showEnumConstants

Show enum constant pages in the documentation

showNamespaces

Show namespace pages in the documentation

sortMembers

Sort the members of a record

sortMembersAssignment1St

Sort assignment operators first

sortMembersBy

Determine how members of a record are sorted

sortMembersConversionLast

Sort conversion operators last

sortMembersCtors1St

Sort constructors first

sortMembersDtors1St

Sort destructors first

sortMembersRelationalLast

Sort relational operators last

sortNamespaceMembersBy

Determine how members of a namespace are sorted

sourceRoot

Path to the root directory of the source code

stdlibIncludes

C++ Standard Library include paths

stylesdir

Directory for linked stylesheets

stylesheets

Ordered list of stylesheets to apply to HTML output

systemIncludes

System include paths

tagfile

Path for the tagfile

transformOptions

Per‐transform parameters keyed by transform id

useSystemLibc

Use the system C standard library

useSystemStdlib

Use the system C++ standard library

verbose

Verbose output

warnAsError

Treat warnings as errors

warnBrokenRef

Warn if a documentation reference is broken

warnIfDocError

Warn if documentation has errors

warnIfUndocEnumVal

Warn if enum values are not documented

warnIfUndocumented

Warn if symbols are not documented

warnIfUndocumentedNamespace

Warn if namespaces are not documented

warnNoBrief

Warn if a documented symbol has no brief

warnNoParamdoc

Warn if parameters are not documented

warnUnknownConfigKeys

Warn about unrecognized configuration keys

warnUnnamedParam

Warn if documented functions have unnamed parameters

warnings

Enable warning messages

Non-Member Functions

Name

Description

hbs::discoverDataDrivenGenerators

Discover addon‐defined data‐driven generators and install them.

Created with MrDocs