Document Object Model Reference
The Document Object Model (DOM) is a tree structure that represents the symbols extracted from the source code. The DOM is used by the generator to render the documentation.
NamespaceSymbol
A namespace declaration. The implicit global namespace appears as a namespace symbol with an empty name and no parent.
| Property | Type | Description |
|---|---|---|
name |
string | Unqualified name of the symbol, as written in the source. |
loc (required) |
string | Source location information for the symbol's declaration and definition. |
kind (required) |
string ("namespace" | "record" | "function" | "overloads" | "enum" | "enum-constant" | "typedef" | "variable" | "guide" | "namespace-alias" | "using" | "concept") |
Discriminator selecting the symbol kind (e.g. `"function"`, `"record"`). Each concrete symbol type constrains this field to a single literal value. |
id (required) |
string | Stable, base64-encoded identifier used for cross-references between DOM objects. |
access (required) |
string ("none" | "public" | "protected" | "private") |
Access specifier (`"public"`, `"protected"`, `"private"`); empty for namespace-scope members. |
extraction (required) |
string ("regular" | "see-below" | "implementation-defined" | "dependency") |
Why the symbol was extracted: `"regular"`, `"see-below"`, `"implementation-defined"`, or `"dependency"`. |
isCopyFromInherited (required) |
boolean | True when the symbol is a synthesized copy of an inherited member (see the `inherit-base-members` configuration option). |
parent (required) |
string | Identifier of the enclosing scope, or empty when the symbol lives in the global namespace. |
doc |
DocComment |
Parsed documentation comment attached to the symbol, or absent when the symbol is undocumented. |
attributes (required) |
array of Attribute |
C++ attributes attached to the declaration, in source order. |
isInline (required) |
boolean | True if the namespace is declared `inline`. |
isAnonymous (required) |
boolean | True if the namespace has no name in source. |
usingDirectives (required) |
array of Name |
List of `using namespace` directives found in this namespace's scope. |
members (required) |
NamespaceTranche |
All members of the namespace, grouped into tranches by kind. |
class (required) |
"symbol" |
Tag set to the literal `"symbol"`. Lets templates discriminate symbol DOM objects from auxiliary types (`type`, `name`, etc.) without inspecting `kind`. |
$meta |
object |
RecordSymbol
A class, struct, or union declaration.
| Property | Type | Description |
|---|---|---|
name |
string | Unqualified name of the symbol, as written in the source. |
loc (required) |
string | Source location information for the symbol's declaration and definition. |
kind (required) |
string ("namespace" | "record" | "function" | "overloads" | "enum" | "enum-constant" | "typedef" | "variable" | "guide" | "namespace-alias" | "using" | "concept") |
Discriminator selecting the symbol kind (e.g. `"function"`, `"record"`). Each concrete symbol type constrains this field to a single literal value. |
id (required) |
string | Stable, base64-encoded identifier used for cross-references between DOM objects. |
access (required) |
string ("none" | "public" | "protected" | "private") |
Access specifier (`"public"`, `"protected"`, `"private"`); empty for namespace-scope members. |
extraction (required) |
string ("regular" | "see-below" | "implementation-defined" | "dependency") |
Why the symbol was extracted: `"regular"`, `"see-below"`, `"implementation-defined"`, or `"dependency"`. |
isCopyFromInherited (required) |
boolean | True when the symbol is a synthesized copy of an inherited member (see the `inherit-base-members` configuration option). |
parent (required) |
string | Identifier of the enclosing scope, or empty when the symbol lives in the global namespace. |
doc |
DocComment |
Parsed documentation comment attached to the symbol, or absent when the symbol is undocumented. |
attributes (required) |
array of Attribute |
C++ attributes attached to the declaration, in source order. |
keyKind (required) |
string ("struct" | "class" | "union") |
The introducing keyword: `"class"`, `"struct"`, or `"union"`. |
template |
TemplateInfo |
Template head if this is a class template; absent for non-templates. |
isTypeDef (required) |
boolean | True when the record was introduced by an anonymous `typedef struct { ... } Name;` declaration. |
isFinal (required) |
boolean | True if the class is declared `final`. |
isFinalDestructor (required) |
boolean | True when the record's destructor is declared `final`. |
bases (required) |
array of BaseInfo |
Direct base classes, in declaration order. |
derived (required) |
array of string | Identifiers of records that derive from this one and appear in the corpus. |
interface (required) |
RecordInterface |
Per-access summary of the record's members (public, protected, private, plus aggregated views). |
friends (required) |
array of FriendInfo |
List of friend declarations attached to the record. |
isListedOnPrimary (required) |
boolean | True when this is a record-template specialization rendered under its primary template and suppressed from the parent scope's listing. |
specializations (required) |
array of string | Identifiers of the record-template specializations whose primary is this record template. |
deductionGuides (required) |
array of string | Identifiers of the deduction guides for this record template. |
class (required) |
"symbol" |
Tag set to the literal `"symbol"`. Lets templates discriminate symbol DOM objects from auxiliary types (`type`, `name`, etc.) without inspecting `kind`. |
$meta |
object |
FunctionSymbol
A function declaration, including free functions, member functions, constructors, destructors, and user-defined operators.
| Property | Type | Description |
|---|---|---|
name |
string | Unqualified name of the symbol, as written in the source. |
loc (required) |
string | Source location information for the symbol's declaration and definition. |
kind (required) |
string ("namespace" | "record" | "function" | "overloads" | "enum" | "enum-constant" | "typedef" | "variable" | "guide" | "namespace-alias" | "using" | "concept") |
Discriminator selecting the symbol kind (e.g. `"function"`, `"record"`). Each concrete symbol type constrains this field to a single literal value. |
id (required) |
string | Stable, base64-encoded identifier used for cross-references between DOM objects. |
access (required) |
string ("none" | "public" | "protected" | "private") |
Access specifier (`"public"`, `"protected"`, `"private"`); empty for namespace-scope members. |
extraction (required) |
string ("regular" | "see-below" | "implementation-defined" | "dependency") |
Why the symbol was extracted: `"regular"`, `"see-below"`, `"implementation-defined"`, or `"dependency"`. |
isCopyFromInherited (required) |
boolean | True when the symbol is a synthesized copy of an inherited member (see the `inherit-base-members` configuration option). |
parent (required) |
string | Identifier of the enclosing scope, or empty when the symbol lives in the global namespace. |
doc |
DocComment |
Parsed documentation comment attached to the symbol, or absent when the symbol is undocumented. |
attributes (required) |
array of Attribute |
C++ attributes attached to the declaration, in source order. |
returnType (required) |
Type |
Return type. Absent for constructors and destructors. |
params (required) |
array of Param |
Function parameter list, in declaration order. |
template |
TemplateInfo |
Template head if this is a function template; absent for non-templates. |
funcClass (required) |
string ("normal" | "constructor" | "conversion" | "destructor") |
Special-function classification (`"constructor"`, `"destructor"`, `"conversion"`, etc.) or empty for ordinary functions. |
noexcept (required) |
string | Rendered `noexcept` specifier, if any. |
requires |
string | Trailing `requires`-clause expression as written. |
isVariadic (required) |
boolean | True when the function accepts a C-style `...` argument list. |
isDefaulted (required) |
boolean | True when the function is `= default`. |
isExplicitlyDefaulted (required) |
boolean | True when the function carries an explicit `= default` in source (not just an implicit defaulted special member). |
isDeleted (required) |
boolean | True when the function is `= delete` (whether written explicitly or implied by language rules). |
isDeletedAsWritten (required) |
boolean | True only when the function is `= delete` as written in source; distinguishes user-deleted from implicitly deleted. |
hasOverrideAttr (required) |
boolean | True when the function carries the `override` specifier. |
hasTrailingReturn (required) |
boolean | True when the function uses trailing-return-type syntax (`auto ... -> T`). |
isExplicitObjectMemberFunction (required) |
boolean | True when the function declares an explicit object parameter (deducing-this member function). |
constexpr |
string ("none" | "constexpr" | "consteval") |
Constexpr level: `"constexpr"`, `"consteval"`, or empty. |
overloadedOperator (required) |
string | Overloaded operator name (e.g. `"operator+"`) or empty if not an operator. |
storageClass |
string ("none" | "extern" | "static" | "auto" | "register") |
Storage class: `"static"`, `"extern"`, etc., or empty. |
isRecordMethod (required) |
boolean | True when the function is a member of a class, struct, or union. |
isVirtual (required) |
boolean | True when the function is virtual (whether by `virtual` keyword or by overriding a virtual function). |
isVirtualAsWritten (required) |
boolean | True only when the `virtual` keyword appears in source. |
isPure (required) |
boolean | True when the function is pure virtual (`= 0`). |
isConst (required) |
boolean | True when the function is a `const` member function. |
isVolatile (required) |
boolean | True when the function is a `volatile` member function. |
isFinal (required) |
boolean | True when the function is declared `final`. |
refQualifier |
string | Reference qualifier on the implicit object parameter: `"&"`, `"&&"`, or empty. |
explicit (required) |
string | Rendered `explicit` specifier (with optional condition) for constructors and conversion functions. |
functionObjectImpl |
string | Identifier of the function object this function is the call-operator implementation of, when the `auto-function-objects` feature recognized it as such; empty otherwise. |
isListedOnPrimary (required) |
boolean | True when this is a function-template specialization rendered under its primary template and suppressed from the parent scope's listing. |
specializations (required) |
array of string | Identifiers of the function-template specializations whose primary is this function template. |
class (required) |
"symbol" |
Tag set to the literal `"symbol"`. Lets templates discriminate symbol DOM objects from auxiliary types (`type`, `name`, etc.) without inspecting `kind`. |
$meta |
object |
OverloadsSymbol
An aggregate of overloaded functions sharing a name. Used to group overload sets in the corpus.
| Property | Type | Description |
|---|---|---|
name |
string | Unqualified name of the symbol, as written in the source. |
loc (required) |
string | Source location information for the symbol's declaration and definition. |
kind (required) |
string ("namespace" | "record" | "function" | "overloads" | "enum" | "enum-constant" | "typedef" | "variable" | "guide" | "namespace-alias" | "using" | "concept") |
Discriminator selecting the symbol kind (e.g. `"function"`, `"record"`). Each concrete symbol type constrains this field to a single literal value. |
id (required) |
string | Stable, base64-encoded identifier used for cross-references between DOM objects. |
access (required) |
string ("none" | "public" | "protected" | "private") |
Access specifier (`"public"`, `"protected"`, `"private"`); empty for namespace-scope members. |
extraction (required) |
string ("regular" | "see-below" | "implementation-defined" | "dependency") |
Why the symbol was extracted: `"regular"`, `"see-below"`, `"implementation-defined"`, or `"dependency"`. |
isCopyFromInherited (required) |
boolean | True when the symbol is a synthesized copy of an inherited member (see the `inherit-base-members` configuration option). |
parent (required) |
string | Identifier of the enclosing scope, or empty when the symbol lives in the global namespace. |
doc |
DocComment |
Parsed documentation comment attached to the symbol, or absent when the symbol is undocumented. |
attributes (required) |
array of Attribute |
C++ attributes attached to the declaration, in source order. |
funcClass (required) |
string ("normal" | "constructor" | "conversion" | "destructor") |
Shared special-function classification of the overload set, when applicable. |
overloadedOperator (required) |
string | Shared overloaded-operator name when the overload set is for an operator. |
members (required) |
array of string | Identifiers of the function declarations belonging to this overload set. |
returnType (required) |
Type |
Common return type when every overload shares it; absent otherwise. |
class (required) |
"symbol" |
Tag set to the literal `"symbol"`. Lets templates discriminate symbol DOM objects from auxiliary types (`type`, `name`, etc.) without inspecting `kind`. |
$meta |
object |
EnumSymbol
An enum declaration (scoped or unscoped).
| Property | Type | Description |
|---|---|---|
name |
string | Unqualified name of the symbol, as written in the source. |
loc (required) |
string | Source location information for the symbol's declaration and definition. |
kind (required) |
string ("namespace" | "record" | "function" | "overloads" | "enum" | "enum-constant" | "typedef" | "variable" | "guide" | "namespace-alias" | "using" | "concept") |
Discriminator selecting the symbol kind (e.g. `"function"`, `"record"`). Each concrete symbol type constrains this field to a single literal value. |
id (required) |
string | Stable, base64-encoded identifier used for cross-references between DOM objects. |
access (required) |
string ("none" | "public" | "protected" | "private") |
Access specifier (`"public"`, `"protected"`, `"private"`); empty for namespace-scope members. |
extraction (required) |
string ("regular" | "see-below" | "implementation-defined" | "dependency") |
Why the symbol was extracted: `"regular"`, `"see-below"`, `"implementation-defined"`, or `"dependency"`. |
isCopyFromInherited (required) |
boolean | True when the symbol is a synthesized copy of an inherited member (see the `inherit-base-members` configuration option). |
parent (required) |
string | Identifier of the enclosing scope, or empty when the symbol lives in the global namespace. |
doc |
DocComment |
Parsed documentation comment attached to the symbol, or absent when the symbol is undocumented. |
attributes (required) |
array of Attribute |
C++ attributes attached to the declaration, in source order. |
scoped (required) |
boolean | True for `enum class` / `enum struct`; false for unscoped enums. |
underlyingType |
Type |
Underlying integer type, when an explicit one was specified. |
constants (required) |
array of string | Identifiers of the enum's constants, in declaration order. |
class (required) |
"symbol" |
Tag set to the literal `"symbol"`. Lets templates discriminate symbol DOM objects from auxiliary types (`type`, `name`, etc.) without inspecting `kind`. |
$meta |
object |
EnumConstantSymbol
A single enumerator within an enum declaration.
| Property | Type | Description |
|---|---|---|
name |
string | Unqualified name of the symbol, as written in the source. |
loc (required) |
string | Source location information for the symbol's declaration and definition. |
kind (required) |
string ("namespace" | "record" | "function" | "overloads" | "enum" | "enum-constant" | "typedef" | "variable" | "guide" | "namespace-alias" | "using" | "concept") |
Discriminator selecting the symbol kind (e.g. `"function"`, `"record"`). Each concrete symbol type constrains this field to a single literal value. |
id (required) |
string | Stable, base64-encoded identifier used for cross-references between DOM objects. |
access (required) |
string ("none" | "public" | "protected" | "private") |
Access specifier (`"public"`, `"protected"`, `"private"`); empty for namespace-scope members. |
extraction (required) |
string ("regular" | "see-below" | "implementation-defined" | "dependency") |
Why the symbol was extracted: `"regular"`, `"see-below"`, `"implementation-defined"`, or `"dependency"`. |
isCopyFromInherited (required) |
boolean | True when the symbol is a synthesized copy of an inherited member (see the `inherit-base-members` configuration option). |
parent (required) |
string | Identifier of the enclosing scope, or empty when the symbol lives in the global namespace. |
doc |
DocComment |
Parsed documentation comment attached to the symbol, or absent when the symbol is undocumented. |
attributes (required) |
array of Attribute |
C++ attributes attached to the declaration, in source order. |
initializer |
string | Initializer expression as written, or empty when the enumerator takes its implicit value. |
class (required) |
"symbol" |
Tag set to the literal `"symbol"`. Lets templates discriminate symbol DOM objects from auxiliary types (`type`, `name`, etc.) without inspecting `kind`. |
$meta |
object |
TypedefSymbol
A type alias declaration (`typedef` or `using`).
| Property | Type | Description |
|---|---|---|
name |
string | Unqualified name of the symbol, as written in the source. |
loc (required) |
string | Source location information for the symbol's declaration and definition. |
kind (required) |
string ("namespace" | "record" | "function" | "overloads" | "enum" | "enum-constant" | "typedef" | "variable" | "guide" | "namespace-alias" | "using" | "concept") |
Discriminator selecting the symbol kind (e.g. `"function"`, `"record"`). Each concrete symbol type constrains this field to a single literal value. |
id (required) |
string | Stable, base64-encoded identifier used for cross-references between DOM objects. |
access (required) |
string ("none" | "public" | "protected" | "private") |
Access specifier (`"public"`, `"protected"`, `"private"`); empty for namespace-scope members. |
extraction (required) |
string ("regular" | "see-below" | "implementation-defined" | "dependency") |
Why the symbol was extracted: `"regular"`, `"see-below"`, `"implementation-defined"`, or `"dependency"`. |
isCopyFromInherited (required) |
boolean | True when the symbol is a synthesized copy of an inherited member (see the `inherit-base-members` configuration option). |
parent (required) |
string | Identifier of the enclosing scope, or empty when the symbol lives in the global namespace. |
doc |
DocComment |
Parsed documentation comment attached to the symbol, or absent when the symbol is undocumented. |
attributes (required) |
array of Attribute |
C++ attributes attached to the declaration, in source order. |
type (required) |
Type |
Aliased type. |
isUsing (required) |
boolean | True for `using`-style aliases; false for the `typedef` keyword. |
template |
TemplateInfo |
Template head if this is an alias template; absent for non-templates. |
class (required) |
"symbol" |
Tag set to the literal `"symbol"`. Lets templates discriminate symbol DOM objects from auxiliary types (`type`, `name`, etc.) without inspecting `kind`. |
$meta |
object |
VariableSymbol
A variable declaration: namespace-scope variable, static data member, or non-static data member.
| Property | Type | Description |
|---|---|---|
name |
string | Unqualified name of the symbol, as written in the source. |
loc (required) |
string | Source location information for the symbol's declaration and definition. |
kind (required) |
string ("namespace" | "record" | "function" | "overloads" | "enum" | "enum-constant" | "typedef" | "variable" | "guide" | "namespace-alias" | "using" | "concept") |
Discriminator selecting the symbol kind (e.g. `"function"`, `"record"`). Each concrete symbol type constrains this field to a single literal value. |
id (required) |
string | Stable, base64-encoded identifier used for cross-references between DOM objects. |
access (required) |
string ("none" | "public" | "protected" | "private") |
Access specifier (`"public"`, `"protected"`, `"private"`); empty for namespace-scope members. |
extraction (required) |
string ("regular" | "see-below" | "implementation-defined" | "dependency") |
Why the symbol was extracted: `"regular"`, `"see-below"`, `"implementation-defined"`, or `"dependency"`. |
isCopyFromInherited (required) |
boolean | True when the symbol is a synthesized copy of an inherited member (see the `inherit-base-members` configuration option). |
parent (required) |
string | Identifier of the enclosing scope, or empty when the symbol lives in the global namespace. |
doc |
DocComment |
Parsed documentation comment attached to the symbol, or absent when the symbol is undocumented. |
attributes (required) |
array of Attribute |
C++ attributes attached to the declaration, in source order. |
type (required) |
Type |
Declared type of the variable. |
template |
TemplateInfo |
Template head if this is a variable template. |
initializer |
string | Initializer expression as written, or empty when the variable has no initializer. |
storageClass |
string ("none" | "extern" | "static" | "auto" | "register") |
Storage class: `"static"`, `"extern"`, `"thread_local"`, etc., or empty. |
isInline (required) |
boolean | True when the variable is declared `inline`. |
isConstexpr (required) |
boolean | True when the variable is declared `constexpr`. |
isConstinit (required) |
boolean | True when the variable is declared `constinit`. |
isThreadLocal (required) |
boolean | True when the variable has thread-storage duration. |
isRecordField (required) |
boolean | True when the variable is a non-static data member of a class, struct, or union. |
isMutable (required) |
boolean | True when the data member is declared `mutable`. |
isVariant (required) |
boolean | True when the data member is part of an anonymous union. |
isBitfield (required) |
boolean | True when the data member is a bit-field. |
bitfieldWidth |
string | Bit-field width expression, when the member is a bit-field. |
class (required) |
"symbol" |
Tag set to the literal `"symbol"`. Lets templates discriminate symbol DOM objects from auxiliary types (`type`, `name`, etc.) without inspecting `kind`. |
$meta |
object |
GuideSymbol
A user-provided class-template deduction guide.
| Property | Type | Description |
|---|---|---|
name |
string | Unqualified name of the symbol, as written in the source. |
loc (required) |
string | Source location information for the symbol's declaration and definition. |
kind (required) |
string ("namespace" | "record" | "function" | "overloads" | "enum" | "enum-constant" | "typedef" | "variable" | "guide" | "namespace-alias" | "using" | "concept") |
Discriminator selecting the symbol kind (e.g. `"function"`, `"record"`). Each concrete symbol type constrains this field to a single literal value. |
id (required) |
string | Stable, base64-encoded identifier used for cross-references between DOM objects. |
access (required) |
string ("none" | "public" | "protected" | "private") |
Access specifier (`"public"`, `"protected"`, `"private"`); empty for namespace-scope members. |
extraction (required) |
string ("regular" | "see-below" | "implementation-defined" | "dependency") |
Why the symbol was extracted: `"regular"`, `"see-below"`, `"implementation-defined"`, or `"dependency"`. |
isCopyFromInherited (required) |
boolean | True when the symbol is a synthesized copy of an inherited member (see the `inherit-base-members` configuration option). |
parent (required) |
string | Identifier of the enclosing scope, or empty when the symbol lives in the global namespace. |
doc |
DocComment |
Parsed documentation comment attached to the symbol, or absent when the symbol is undocumented. |
attributes (required) |
array of Attribute |
C++ attributes attached to the declaration, in source order. |
deduced (required) |
Type |
Deduced class-template specialization the guide produces. |
template |
TemplateInfo |
Template parameters of the deduction guide. |
params (required) |
array of Param |
Parameter list used for argument deduction. |
explicit (required) |
string | Rendered `explicit` specifier, if any. |
class (required) |
"symbol" |
Tag set to the literal `"symbol"`. Lets templates discriminate symbol DOM objects from auxiliary types (`type`, `name`, etc.) without inspecting `kind`. |
$meta |
object |
NamespaceAliasSymbol
A namespace-alias declaration (`namespace alias = target;`).
| Property | Type | Description |
|---|---|---|
name |
string | Unqualified name of the symbol, as written in the source. |
loc (required) |
string | Source location information for the symbol's declaration and definition. |
kind (required) |
string ("namespace" | "record" | "function" | "overloads" | "enum" | "enum-constant" | "typedef" | "variable" | "guide" | "namespace-alias" | "using" | "concept") |
Discriminator selecting the symbol kind (e.g. `"function"`, `"record"`). Each concrete symbol type constrains this field to a single literal value. |
id (required) |
string | Stable, base64-encoded identifier used for cross-references between DOM objects. |
access (required) |
string ("none" | "public" | "protected" | "private") |
Access specifier (`"public"`, `"protected"`, `"private"`); empty for namespace-scope members. |
extraction (required) |
string ("regular" | "see-below" | "implementation-defined" | "dependency") |
Why the symbol was extracted: `"regular"`, `"see-below"`, `"implementation-defined"`, or `"dependency"`. |
isCopyFromInherited (required) |
boolean | True when the symbol is a synthesized copy of an inherited member (see the `inherit-base-members` configuration option). |
parent (required) |
string | Identifier of the enclosing scope, or empty when the symbol lives in the global namespace. |
doc |
DocComment |
Parsed documentation comment attached to the symbol, or absent when the symbol is undocumented. |
attributes (required) |
array of Attribute |
C++ attributes attached to the declaration, in source order. |
aliasedSymbol (required) |
IdentifierName |
Reference to the namespace this alias refers to. |
class (required) |
"symbol" |
Tag set to the literal `"symbol"`. Lets templates discriminate symbol DOM objects from auxiliary types (`type`, `name`, etc.) without inspecting `kind`. |
$meta |
object |
UsingSymbol
A `using`-declaration (introduces names from another scope, including using-enum).
| Property | Type | Description |
|---|---|---|
name |
string | Unqualified name of the symbol, as written in the source. |
loc (required) |
string | Source location information for the symbol's declaration and definition. |
kind (required) |
string ("namespace" | "record" | "function" | "overloads" | "enum" | "enum-constant" | "typedef" | "variable" | "guide" | "namespace-alias" | "using" | "concept") |
Discriminator selecting the symbol kind (e.g. `"function"`, `"record"`). Each concrete symbol type constrains this field to a single literal value. |
id (required) |
string | Stable, base64-encoded identifier used for cross-references between DOM objects. |
access (required) |
string ("none" | "public" | "protected" | "private") |
Access specifier (`"public"`, `"protected"`, `"private"`); empty for namespace-scope members. |
extraction (required) |
string ("regular" | "see-below" | "implementation-defined" | "dependency") |
Why the symbol was extracted: `"regular"`, `"see-below"`, `"implementation-defined"`, or `"dependency"`. |
isCopyFromInherited (required) |
boolean | True when the symbol is a synthesized copy of an inherited member (see the `inherit-base-members` configuration option). |
parent (required) |
string | Identifier of the enclosing scope, or empty when the symbol lives in the global namespace. |
doc |
DocComment |
Parsed documentation comment attached to the symbol, or absent when the symbol is undocumented. |
attributes (required) |
array of Attribute |
C++ attributes attached to the declaration, in source order. |
class (required) |
"symbol" |
Tag set to the literal `"symbol"`. Lets templates discriminate symbol DOM objects from auxiliary types (`type`, `name`, etc.) without inspecting `kind`. |
introducedName (required) |
Name |
Name introduced into the current scope, qualified by the source scope. |
shadowDeclarations (required) |
array of string | Symbols brought into scope by the using-declaration. |
$meta |
object |
ConceptSymbol
A concept declaration.
| Property | Type | Description |
|---|---|---|
name |
string | Unqualified name of the symbol, as written in the source. |
loc (required) |
string | Source location information for the symbol's declaration and definition. |
kind (required) |
string ("namespace" | "record" | "function" | "overloads" | "enum" | "enum-constant" | "typedef" | "variable" | "guide" | "namespace-alias" | "using" | "concept") |
Discriminator selecting the symbol kind (e.g. `"function"`, `"record"`). Each concrete symbol type constrains this field to a single literal value. |
id (required) |
string | Stable, base64-encoded identifier used for cross-references between DOM objects. |
access (required) |
string ("none" | "public" | "protected" | "private") |
Access specifier (`"public"`, `"protected"`, `"private"`); empty for namespace-scope members. |
extraction (required) |
string ("regular" | "see-below" | "implementation-defined" | "dependency") |
Why the symbol was extracted: `"regular"`, `"see-below"`, `"implementation-defined"`, or `"dependency"`. |
isCopyFromInherited (required) |
boolean | True when the symbol is a synthesized copy of an inherited member (see the `inherit-base-members` configuration option). |
parent (required) |
string | Identifier of the enclosing scope, or empty when the symbol lives in the global namespace. |
doc |
DocComment |
Parsed documentation comment attached to the symbol, or absent when the symbol is undocumented. |
attributes (required) |
array of Attribute |
C++ attributes attached to the declaration, in source order. |
template |
TemplateInfo |
Concept's template parameter list. |
constraint |
string | Constraint expression that defines the concept. |
class (required) |
"symbol" |
Tag set to the literal `"symbol"`. Lets templates discriminate symbol DOM objects from auxiliary types (`type`, `name`, etc.) without inspecting `kind`. |
$meta |
object |
NamedType
A type referred to by name (a class, an enum, a typedef, or a fundamental type like `int`).
| Property | Type | Description |
|---|---|---|
kind (required) |
string | Discriminator selecting the type kind. Each concrete type constrains this field to a single literal value. |
isPackExpansion (required) |
boolean | True when the type appears as the pattern of a pack expansion (`T...`). |
isConst (required) |
boolean | True when the type carries a top-level `const` qualifier. |
isVolatile (required) |
boolean | True when the type carries a top-level `volatile` qualifier. |
constraints (required) |
array of string | Constraint expressions associated with the type, such as those discovered by SFINAE detection around `std::enable_if_t<..., T>`. |
name (required) |
Name |
The name as written, including any qualifications and template arguments. |
fundamentalType |
string | Fundamental-type tag (`"int"`, `"double"`, ...) when the named type is a built-in type; empty otherwise. |
$meta |
object |
DecltypeType
A type expressed as `decltype(expr)`.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | Discriminator selecting the type kind. Each concrete type constrains this field to a single literal value. |
isPackExpansion (required) |
boolean | True when the type appears as the pattern of a pack expansion (`T...`). |
isConst (required) |
boolean | True when the type carries a top-level `const` qualifier. |
isVolatile (required) |
boolean | True when the type carries a top-level `volatile` qualifier. |
constraints (required) |
array of string | Constraint expressions associated with the type, such as those discovered by SFINAE detection around `std::enable_if_t<..., T>`. |
operand |
string | The expression inside `decltype(...)`. |
$meta |
object |
AutoType
A placeholder type introduced by `auto` or `decltype(auto)`.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | Discriminator selecting the type kind. Each concrete type constrains this field to a single literal value. |
isPackExpansion (required) |
boolean | True when the type appears as the pattern of a pack expansion (`T...`). |
isConst (required) |
boolean | True when the type carries a top-level `const` qualifier. |
isVolatile (required) |
boolean | True when the type carries a top-level `volatile` qualifier. |
constraints (required) |
array of string | Constraint expressions associated with the type, such as those discovered by SFINAE detection around `std::enable_if_t<..., T>`. |
keyword (required) |
string | Which placeholder was used: `"auto"` or `"decltype(auto)"`. |
constraint |
Name |
Concept constraint applied to the placeholder, if any. |
$meta |
object |
LValueReferenceType
An lvalue-reference type (`T&`).
| Property | Type | Description |
|---|---|---|
kind (required) |
string | Discriminator selecting the type kind. Each concrete type constrains this field to a single literal value. |
isPackExpansion (required) |
boolean | True when the type appears as the pattern of a pack expansion (`T...`). |
isConst (required) |
boolean | True when the type carries a top-level `const` qualifier. |
isVolatile (required) |
boolean | True when the type carries a top-level `volatile` qualifier. |
constraints (required) |
array of string | Constraint expressions associated with the type, such as those discovered by SFINAE detection around `std::enable_if_t<..., T>`. |
pointeeType (required) |
Type |
The referenced type. |
$meta |
object |
RValueReferenceType
An rvalue-reference type (`T&&`).
| Property | Type | Description |
|---|---|---|
kind (required) |
string | Discriminator selecting the type kind. Each concrete type constrains this field to a single literal value. |
isPackExpansion (required) |
boolean | True when the type appears as the pattern of a pack expansion (`T...`). |
isConst (required) |
boolean | True when the type carries a top-level `const` qualifier. |
isVolatile (required) |
boolean | True when the type carries a top-level `volatile` qualifier. |
constraints (required) |
array of string | Constraint expressions associated with the type, such as those discovered by SFINAE detection around `std::enable_if_t<..., T>`. |
pointeeType (required) |
Type |
The referenced type. |
$meta |
object |
PointerType
A pointer type (`T*`).
| Property | Type | Description |
|---|---|---|
kind (required) |
string | Discriminator selecting the type kind. Each concrete type constrains this field to a single literal value. |
isPackExpansion (required) |
boolean | True when the type appears as the pattern of a pack expansion (`T...`). |
isConst (required) |
boolean | True when the type carries a top-level `const` qualifier. |
isVolatile (required) |
boolean | True when the type carries a top-level `volatile` qualifier. |
constraints (required) |
array of string | Constraint expressions associated with the type, such as those discovered by SFINAE detection around `std::enable_if_t<..., T>`. |
pointeeType (required) |
Type |
The pointed-to type. |
$meta |
object |
MemberPointerType
A pointer-to-member type (`T C::*`).
| Property | Type | Description |
|---|---|---|
kind (required) |
string | Discriminator selecting the type kind. Each concrete type constrains this field to a single literal value. |
isPackExpansion (required) |
boolean | True when the type appears as the pattern of a pack expansion (`T...`). |
isConst (required) |
boolean | True when the type carries a top-level `const` qualifier. |
isVolatile (required) |
boolean | True when the type carries a top-level `volatile` qualifier. |
constraints (required) |
array of string | Constraint expressions associated with the type, such as those discovered by SFINAE detection around `std::enable_if_t<..., T>`. |
parentType (required) |
Type |
The class type the pointer is a member of. |
pointeeType (required) |
Type |
The type of the member being pointed to. |
$meta |
object |
ArrayType
An array type (`T[N]`).
| Property | Type | Description |
|---|---|---|
kind (required) |
string | Discriminator selecting the type kind. Each concrete type constrains this field to a single literal value. |
isPackExpansion (required) |
boolean | True when the type appears as the pattern of a pack expansion (`T...`). |
isConst (required) |
boolean | True when the type carries a top-level `const` qualifier. |
isVolatile (required) |
boolean | True when the type carries a top-level `volatile` qualifier. |
constraints (required) |
array of string | Constraint expressions associated with the type, such as those discovered by SFINAE detection around `std::enable_if_t<..., T>`. |
elementType (required) |
Type |
The element type. |
bounds |
string | Array bound expression as written, or empty for unknown-bound arrays. |
$meta |
object |
FunctionType
A function type (used for function pointers, pointers-to-members, etc.).
| Property | Type | Description |
|---|---|---|
kind (required) |
string | Discriminator selecting the type kind. Each concrete type constrains this field to a single literal value. |
isPackExpansion (required) |
boolean | True when the type appears as the pattern of a pack expansion (`T...`). |
isConst (required) |
boolean | True when the type carries a top-level `const` qualifier. |
isVolatile (required) |
boolean | True when the type carries a top-level `volatile` qualifier. |
constraints (required) |
array of string | Constraint expressions associated with the type, such as those discovered by SFINAE detection around `std::enable_if_t<..., T>`. |
returnType (required) |
Type |
The return type. |
paramTypes (required) |
array of Type |
Parameter types, in declaration order. |
refQualifier |
string | Reference qualifier on the implicit object parameter (for member-function types): `"&"`, `"&&"`, or empty. |
exceptionSpec (required) |
string | Rendered exception specification, if any. |
isVariadic (required) |
boolean | True when the function type accepts a C-style `...` argument list. |
$meta |
object |
IdentifierName
A plain (possibly qualified) name without template arguments, e.g. `std::vector` or `MyClass::nested`.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("identifier" | "specialization") |
Discriminator selecting the name kind. Each concrete name constrains this field to a single literal value. |
id (required) |
string | Identifier of the named symbol when it lives in the corpus; empty when the name refers to something outside it. |
identifier |
string | Unqualified spelling of the name, as written in the source. |
prefix |
Name |
Qualifying prefix (the `A::B::` part of `A::B::Name`); absent when the name is unqualified. |
$meta |
object |
SpecializationName
A template-id: a name applied to template arguments, e.g. `std::vector<int>` or `Outer<T>::Inner`.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("identifier" | "specialization") |
Discriminator selecting the name kind. Each concrete name constrains this field to a single literal value. |
id (required) |
string | Identifier of the named symbol when it lives in the corpus; empty when the name refers to something outside it. |
identifier |
string | Unqualified spelling of the name, as written in the source. |
prefix |
Name |
Qualifying prefix (the `A::B::` part of `A::B::Name`); absent when the name is unqualified. |
templateArgs (required) |
array of TArg |
Template arguments applied to the name, in declaration order. |
$meta |
object |
TypeTParam
A type template parameter (`template <typename T>` or `template <class T>`).
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("type" | "constant" | "template") |
Discriminator selecting the template-parameter kind. Each concrete TParam constrains this field to a single literal value. |
name |
string | Parameter name as written; empty for unnamed template parameters. |
isParameterPack (required) |
boolean | True when the template parameter is a parameter pack (`typename... Ts`, `int... Ns`, etc.). |
default |
TArg |
Default argument expression as written; absent when the parameter has no default. |
keyKind (required) |
string ("class" | "typename") |
Introducing keyword: `"typename"` or `"class"`. |
constraint |
Name |
Concept constraint applied to the parameter, if any. |
$meta |
object |
ConstantTParam
A non-type template parameter (`template <int N>`, `template <auto V>`, ...).
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("type" | "constant" | "template") |
Discriminator selecting the template-parameter kind. Each concrete TParam constrains this field to a single literal value. |
name |
string | Parameter name as written; empty for unnamed template parameters. |
isParameterPack (required) |
boolean | True when the template parameter is a parameter pack (`typename... Ts`, `int... Ns`, etc.). |
default |
TArg |
Default argument expression as written; absent when the parameter has no default. |
type (required) |
Type |
Declared type of the parameter. |
$meta |
object |
TemplateTParam
A template template parameter (`template <template <typename> class C>`).
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("type" | "constant" | "template") |
Discriminator selecting the template-parameter kind. Each concrete TParam constrains this field to a single literal value. |
name |
string | Parameter name as written; empty for unnamed template parameters. |
isParameterPack (required) |
boolean | True when the template parameter is a parameter pack (`typename... Ts`, `int... Ns`, etc.). |
default |
TArg |
Default argument expression as written; absent when the parameter has no default. |
params (required) |
array of TParam |
Inner template parameter list of the parameter. |
$meta |
object |
TypeTArg
A template argument that is a type, e.g. `int` in `std::vector<int>`.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("type" | "constant" | "template") |
Discriminator selecting the template-argument kind. Each concrete TArg constrains this field to a single literal value. |
isPackExpansion (required) |
boolean | True when the argument is a pack expansion (`Args...`). |
type (required) |
Type |
The argument type. |
$meta |
object |
ConstantTArg
A template argument that is a non-type value, e.g. `42` in `std::array<int, 42>`.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("type" | "constant" | "template") |
Discriminator selecting the template-argument kind. Each concrete TArg constrains this field to a single literal value. |
isPackExpansion (required) |
boolean | True when the argument is a pack expansion (`Args...`). |
value |
string | The argument expression as written. |
$meta |
object |
TemplateTArg
A template argument that is itself a template, used for template-template parameters.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("type" | "constant" | "template") |
Discriminator selecting the template-argument kind. Each concrete TArg constrains this field to a single literal value. |
isPackExpansion (required) |
boolean | True when the argument is a pack expansion (`Args...`). |
template (required) |
string | Identifier of the referenced template. |
name |
string | Name of the template as written. |
$meta |
object |
AdmonitionBlock
An admonition (note, warning, etc.) container introduced by `@note`, `@warning`, and similar commands.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
blocks (required) |
array of Block |
Block-level children in document order. |
admonish (required) |
string ("none" | "note" | "tip" | "important" | "caution" | "warning") |
Admonition kind: `"note"`, `"tip"`, `"important"`, `"caution"`, or `"warning"`. |
$meta |
object |
BriefBlock
The brief description of a symbol, sourced from a `@brief` command, `@copybrief` reference, or the first sentence of the doc comment.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
copiedFrom (required) |
array of string | Identifier of the symbol the brief was copied from via `@copybrief`, or empty. |
$meta |
object |
CodeBlock
A fenced code block in the doc comment.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
literal |
string | Verbatim contents of the code block. |
info |
string | Info string after the opening fence (typically the language identifier, e.g. `"cpp"`). |
$meta |
object |
HeadingBlock
A heading within the doc comment.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
level (required) |
integer | Heading depth (1 for top-level, 2 for second-level, and so on). |
$meta |
object |
ParagraphBlock
A paragraph: a sequence of inline elements terminated by a blank line.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
$meta |
object |
ListBlock
An ordered or unordered list.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
items (required) |
array of ListItem |
List items, each holding a sequence of blocks. |
listKind (required) |
string ("unordered" | "ordered") |
Whether the list is ordered or unordered. |
$meta |
object |
DefinitionListBlock
A definition list (terms with descriptions).
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
items (required) |
array of DefinitionListItem |
Definition-list items, each pairing a term with its description. |
$meta |
object |
QuoteBlock
A block-level quotation, holding nested blocks.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
blocks (required) |
array of Block |
Block-level children in document order. |
$meta |
object |
ThematicBreakBlock
A horizontal rule (`---`) separating sections.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
$meta |
object |
FootnoteDefinitionBlock
A footnote definition referenced by a `FootnoteReferenceInline` elsewhere in the comment.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
blocks (required) |
array of Block |
Block-level children in document order. |
label |
string | Label that footnote references use to point at this definition. |
$meta |
object |
TableBlock
A table with header and body rows.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
alignments (required) |
array of string ("none" | "left" | "center" | "right") |
Per-column alignment for the table. |
items (required) |
array of TableRow |
Rows of the table, each a sequence of cells. |
$meta |
object |
MathBlock
A display-math block.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
literal |
string | Verbatim TeX/LaTeX source for the formula. |
$meta |
object |
ParamBlock
Documentation of a function parameter, sourced from a `@param` command.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
name |
string | Name of the documented parameter (matches a parameter of the enclosing function). |
direction (required) |
string ("none" | "in" | "out" | "inout") |
Parameter direction (`"in"`, `"out"`, `"inout"`), or empty when unspecified. |
$meta |
object |
PostconditionBlock
A `@post` clause describing a function postcondition.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
$meta |
object |
PreconditionBlock
A `@pre` clause describing a function precondition.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
$meta |
object |
ReturnsBlock
Documentation of the function's return value, sourced from a `@returns` / `@return` command.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
$meta |
object |
SeeBlock
A `@see` cross-reference clause.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
$meta |
object |
ThrowsBlock
Documentation of an exception thrown by the function, sourced from a `@throws` / `@throw` / `@exception` command.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
exception (required) |
ReferenceInline |
Name of the exception type the function may throw. |
$meta |
object |
TParamBlock
Documentation of a template parameter, sourced from a `@tparam` command.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("admonition" | "brief" | "code" | "heading" | "paragraph" | "list" | "definition-list" | "quote" | "thematic-break" | "footnote-definition" | "table" | "math" | "param" | "postcondition" | "precondition" | "returns" | "see" | "throws" | "t-param") |
Discriminator selecting the doc-block kind. Each concrete block constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
name |
string | Name of the documented template parameter. |
$meta |
object |
ReferenceInline
A cross-reference to a symbol in the corpus, produced by `@ref`, `@p`, or implicit name lookup.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
literal |
string | The reference text as written in the doc comment. |
id (required) |
string | Identifier of the resolved target, or empty when the reference could not be resolved. |
$meta |
object |
CopyDetailsInline
A pending `@copydetails` reference. Resolved during doc-comment finalization; surviving instances indicate an unresolved reference.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
string |
string | The reference string as written after `@copydetails`. |
id (required) |
string | Identifier of the referenced symbol once resolved, or empty if the reference could not be resolved. |
$meta |
object |
LinkInline
A hyperlink whose visible text is the contained inlines.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
href |
string | Target URL of the link. |
$meta |
object |
TextInline
A run of plain text within a paragraph or other inline container.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
literal |
string | Verbatim text content. |
$meta |
object |
SoftBreakInline
A soft line break within a paragraph (rendered as whitespace by most generators).
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
$meta |
object |
LineBreakInline
A hard line break within a paragraph (`<br>`-equivalent).
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
$meta |
object |
CodeInline
An inline code span (`` `like this` ``).
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
$meta |
object |
EmphInline
Emphasized inline text (typically rendered italic).
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
$meta |
object |
StrongInline
Strongly emphasized inline text (typically rendered bold).
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
$meta |
object |
ImageInline
An inline image.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
src |
string | Image source URL or path. |
alt |
string | Alternative text for the image. |
$meta |
object |
FootnoteReferenceInline
An inline reference pointing at a `FootnoteDefinitionBlock` with the matching label.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
label |
string | Label of the footnote being referenced. |
$meta |
object |
StrikethroughInline
Inline text with strikethrough styling.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
$meta |
object |
MathInline
An inline math span.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
literal |
string | Verbatim TeX/LaTeX source for the formula. |
$meta |
object |
SuperscriptInline
Inline text rendered as superscript.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
$meta |
object |
SubscriptInline
Inline text rendered as subscript.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
$meta |
object |
HighlightInline
Inline text rendered with highlight (e.g. `<mark>`) styling.
| Property | Type | Description |
|---|---|---|
kind (required) |
string ("reference" | "copy-details" | "link" | "text" | "soft-break" | "line-break" | "code" | "emph" | "strong" | "image" | "footnote-reference" | "strikethrough" | "math" | "superscript" | "subscript" | "highlight") |
Discriminator selecting the doc-inline kind. Each concrete inline constrains this field to a single literal value. |
children (required) |
array of Inline |
Inline-level children in document order. |
$meta |
object |
OtherAttribute
An attribute mrdocs does not recognize specially; `name` holds the spelling as written.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | The attribute kind as a string (e.g. `"deprecated"`, `"no-unique-address"`). |
name |
string | The attribute name in its normalized standard spelling (e.g. `deprecated`); for the `other` kind, the spelling as written, including any scope (e.g. `gnu::custom`). |
balancedTokens (required) |
array of string | The attribute arguments as a balanced-token sequence; empty for attributes that take no arguments. |
$meta |
object |
NoreturnAttribute
The `[[noreturn]]` attribute.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | The attribute kind as a string (e.g. `"deprecated"`, `"no-unique-address"`). |
name |
string | The attribute name in its normalized standard spelling (e.g. `deprecated`); for the `other` kind, the spelling as written, including any scope (e.g. `gnu::custom`). |
balancedTokens (required) |
array of string | The attribute arguments as a balanced-token sequence; empty for attributes that take no arguments. |
$meta |
object |
CarriesDependencyAttribute
The `[[carries_dependency]]` attribute.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | The attribute kind as a string (e.g. `"deprecated"`, `"no-unique-address"`). |
name |
string | The attribute name in its normalized standard spelling (e.g. `deprecated`); for the `other` kind, the spelling as written, including any scope (e.g. `gnu::custom`). |
balancedTokens (required) |
array of string | The attribute arguments as a balanced-token sequence; empty for attributes that take no arguments. |
$meta |
object |
DeprecatedAttribute
The `[[deprecated]]` attribute.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | The attribute kind as a string (e.g. `"deprecated"`, `"no-unique-address"`). |
name |
string | The attribute name in its normalized standard spelling (e.g. `deprecated`); for the `other` kind, the spelling as written, including any scope (e.g. `gnu::custom`). |
balancedTokens (required) |
array of string | The attribute arguments as a balanced-token sequence; empty for attributes that take no arguments. |
message |
string | The optional deprecation message. |
$meta |
object |
FallthroughAttribute
The `[[fallthrough]]` attribute.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | The attribute kind as a string (e.g. `"deprecated"`, `"no-unique-address"`). |
name |
string | The attribute name in its normalized standard spelling (e.g. `deprecated`); for the `other` kind, the spelling as written, including any scope (e.g. `gnu::custom`). |
balancedTokens (required) |
array of string | The attribute arguments as a balanced-token sequence; empty for attributes that take no arguments. |
$meta |
object |
MaybeUnusedAttribute
The `[[maybe_unused]]` attribute.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | The attribute kind as a string (e.g. `"deprecated"`, `"no-unique-address"`). |
name |
string | The attribute name in its normalized standard spelling (e.g. `deprecated`); for the `other` kind, the spelling as written, including any scope (e.g. `gnu::custom`). |
balancedTokens (required) |
array of string | The attribute arguments as a balanced-token sequence; empty for attributes that take no arguments. |
$meta |
object |
NodiscardAttribute
The `[[nodiscard]]` attribute.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | The attribute kind as a string (e.g. `"deprecated"`, `"no-unique-address"`). |
name |
string | The attribute name in its normalized standard spelling (e.g. `deprecated`); for the `other` kind, the spelling as written, including any scope (e.g. `gnu::custom`). |
balancedTokens (required) |
array of string | The attribute arguments as a balanced-token sequence; empty for attributes that take no arguments. |
reason |
string | The optional reason the result must not be discarded. |
$meta |
object |
LikelyAttribute
The `[[likely]]` attribute.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | The attribute kind as a string (e.g. `"deprecated"`, `"no-unique-address"`). |
name |
string | The attribute name in its normalized standard spelling (e.g. `deprecated`); for the `other` kind, the spelling as written, including any scope (e.g. `gnu::custom`). |
balancedTokens (required) |
array of string | The attribute arguments as a balanced-token sequence; empty for attributes that take no arguments. |
$meta |
object |
UnlikelyAttribute
The `[[unlikely]]` attribute.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | The attribute kind as a string (e.g. `"deprecated"`, `"no-unique-address"`). |
name |
string | The attribute name in its normalized standard spelling (e.g. `deprecated`); for the `other` kind, the spelling as written, including any scope (e.g. `gnu::custom`). |
balancedTokens (required) |
array of string | The attribute arguments as a balanced-token sequence; empty for attributes that take no arguments. |
$meta |
object |
NoUniqueAddressAttribute
The `[[no_unique_address]]` attribute.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | The attribute kind as a string (e.g. `"deprecated"`, `"no-unique-address"`). |
name |
string | The attribute name in its normalized standard spelling (e.g. `deprecated`); for the `other` kind, the spelling as written, including any scope (e.g. `gnu::custom`). |
balancedTokens (required) |
array of string | The attribute arguments as a balanced-token sequence; empty for attributes that take no arguments. |
$meta |
object |
AssumeAttribute
The `[[assume]]` attribute.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | The attribute kind as a string (e.g. `"deprecated"`, `"no-unique-address"`). |
name |
string | The attribute name in its normalized standard spelling (e.g. `deprecated`); for the `other` kind, the spelling as written, including any scope (e.g. `gnu::custom`). |
balancedTokens (required) |
array of string | The attribute arguments as a balanced-token sequence; empty for attributes that take no arguments. |
expression |
string | The assumed expression, as written. |
$meta |
object |
IndeterminateAttribute
The `[[indeterminate]]` attribute.
| Property | Type | Description |
|---|---|---|
kind (required) |
string | The attribute kind as a string (e.g. `"deprecated"`, `"no-unique-address"`). |
name |
string | The attribute name in its normalized standard spelling (e.g. `deprecated`); for the `other` kind, the spelling as written, including any scope (e.g. `gnu::custom`). |
balancedTokens (required) |
array of string | The attribute arguments as a balanced-token sequence; empty for attributes that take no arguments. |
$meta |
object |
Type
A C++ type. The DOM serializes the most-derived kind (named, pointer, reference, array, function, etc.); see the `oneOf` entries for the per-kind shape.
One of:
Name
A (possibly qualified) name occurring in source, such as the name of a base class or the type referenced by a `NamedType`.
One of:
TParam
A template parameter of a templated symbol. The DOM serializes the most-derived kind (type, non-type, template); see the `oneOf` entries for the per-kind shape.
One of:
TArg
A template argument supplied to a template specialization. The DOM serializes the most-derived kind (type, non-type, template); see the `oneOf` entries for the per-kind shape.
One of:
Block
A block-level node in a parsed documentation comment (paragraphs, lists, headings, and command blocks like `@brief` / `@param` / `@returns`).
One of:
Inline
An inline-level node in a parsed documentation comment (text, emphasis, code spans, references, etc.).
One of:
Attribute
A C++ attribute attached to a symbol. The concrete kinds (`deprecated`, `nodiscard`, ...) extend this with their evaluated arguments.
One of:
Location
A source location (file path plus line/column).
| Property | Type | Description |
|---|---|---|
shortPath |
string | Path relative to the configured source root, suitable for display. |
sourcePath |
string | Path relative to the source-root setting, used for documentation cross-references. |
lineNumber (required) |
integer | 1-based line number of the location. |
columnNumber (required) |
integer | 1-based column number of the location. |
documented (required) |
boolean | True when a doc comment was attached at this location. |
$meta |
object |
Param
A function parameter.
| Property | Type | Description |
|---|---|---|
type (required) |
Type |
Declared parameter type. |
name |
string | Parameter name as written in the declaration. Empty for unnamed parameters. |
default |
string | Default argument expression as written, or absent if the parameter has no default. |
$meta |
object |
TemplateInfo
Template metadata attached to a templated symbol: parameters, arguments (for specializations), and a reference to the primary template.
| Property | Type | Description |
|---|---|---|
params (required) |
array of TParam |
Template parameter list, in declaration order. |
args (required) |
array of TArg |
Template arguments applied to the primary template, in declaration order. Present on (partial) specializations and instantiations; empty for the primary template itself. |
requires |
string | Trailing `requires`-clause expression as written; empty when the template has no constraints. |
primary (required) |
string | Identifier of the primary template this entry specializes; empty when this is itself the primary. |
$meta |
object |
SourceInfo
Source-location metadata for a symbol: every declaration site plus the definition site, when one exists.
| Property | Type | Description |
|---|---|---|
defLoc |
Location |
Location of the symbol's definition; absent when no definition was extracted. |
loc (required) |
array of Location |
Locations of the symbol's declarations (one entry per source declaration). |
$meta |
object |
BaseInfo
A base-class clause of a class or struct declaration.
| Property | Type | Description |
|---|---|---|
type (required) |
Type |
Base type as written in the inheritance clause (a class or template specialization). |
access (required) |
string ("none" | "public" | "protected" | "private") |
Access specifier of the base (`"public"`, `"protected"`, or `"private"`). |
isVirtual (required) |
boolean | True when the base is inherited virtually. |
$meta |
object |
FriendInfo
A `friend` declaration appearing inside a class or struct.
| Property | Type | Description |
|---|---|---|
type |
Type |
Type befriended, used when the friend declaration names a type rather than a corpus symbol. |
id (required) |
string | Identifier of the symbol befriended when it lives in the corpus; empty when the friend points outside it. |
$meta |
object |