Reference

This is the reference for the data MrDocs extracts into a corpus and exposes to each generator as structured objects: each symbol, and the types, names, template parameters, and documentation blocks attached to it.

Machine-readable schema files for the corpus are also attached to this site: a RELAX NG schema for the XML representation and a JSON Schema for the JSON representation.

The fields below are reflected from MrDocs’s metadata types. In each table, object and array types link to the section that documents them.

Symbols

Base class with common properties of all symbols

concept

Info for concepts.

Field Type Description

access

string

Declaration access. One of: none, public, protected, private.

anchor

string

A legible, filesystem- and URL-safe name for this symbol.

attributes

Attribute[]

The C++ attributes attached to this declaration.

extraction

string

Determine why a symbol is extracted. One of: regular, see-below, implementation-defined, dependency.

isCopyFromInherited

boolean

Whether this a copy of an inherited method, as produced when inherit-base-members is not never.

kind

string

Kind of declaration. One of: none.

loc

SourceInfo

The source location information.

name

string

The unqualified name.

parent

string

The parent symbol, if any.

doc

DocComment

Optional. The extracted documentation for this declaration.

id

string

The unique identifier for this symbol.

constraint

string

The concepts constraint-expression

template

TemplateInfo

Optional. The concepts template parameters

enumConstant

Info for enum constants.

Field Type Description

access

string

Declaration access. One of: none, public, protected, private.

anchor

string

A legible, filesystem- and URL-safe name for this symbol.

attributes

Attribute[]

The C++ attributes attached to this declaration.

extraction

string

Determine why a symbol is extracted. One of: regular, see-below, implementation-defined, dependency.

isCopyFromInherited

boolean

Whether this a copy of an inherited method, as produced when inherit-base-members is not never.

kind

string

Kind of declaration. One of: none.

loc

SourceInfo

The source location information.

name

string

The unqualified name.

parent

string

The parent symbol, if any.

doc

DocComment

Optional. The extracted documentation for this declaration.

id

string

The unique identifier for this symbol.

initializer

ConstantExprInfo

The initializer expression, if any

enum

Metadata for an enumeration declaration.

Field Type Description

access

string

Declaration access. One of: none, public, protected, private.

anchor

string

A legible, filesystem- and URL-safe name for this symbol.

attributes

Attribute[]

The C++ attributes attached to this declaration.

extraction

string

Determine why a symbol is extracted. One of: regular, see-below, implementation-defined, dependency.

isCopyFromInherited

boolean

Whether this a copy of an inherited method, as produced when inherit-base-members is not never.

kind

string

Kind of declaration. One of: none.

loc

SourceInfo

The source location information.

name

string

The unqualified name.

parent

string

The parent symbol, if any.

doc

DocComment

Optional. The extracted documentation for this declaration.

id

string

The unique identifier for this symbol.

constants

string[]

The members of this scope.

scoped

boolean

Indicates whether this enum is scoped (e.g. enum class).

underlyingType

Type

Optional. The underlying type of this enum, if explicitly specified.

function

Metadata for a function or method.

Field Type Description

access

string

Declaration access. One of: none, public, protected, private.

anchor

string

A legible, filesystem- and URL-safe name for this symbol.

attributes

Attribute[]

The C++ attributes attached to this declaration.

extraction

string

Determine why a symbol is extracted. One of: regular, see-below, implementation-defined, dependency.

isCopyFromInherited

boolean

Whether this a copy of an inherited method, as produced when inherit-base-members is not never.

kind

string

Kind of declaration. One of: none.

loc

SourceInfo

The source location information.

name

string

The unqualified name.

parent

string

The parent symbol, if any.

doc

DocComment

Optional. The extracted documentation for this declaration.

id

string

The unique identifier for this symbol.

constexpr

string

constexpr/consteval specifier. One of: none, constexpr, consteval.

explicit

ExplicitInfo

explicit-specifier information.

funcClass

string

The class of function this is One of: normal, constructor, conversion, destructor.

functionObjectImpl

string

Optional. Back-reference to the function object implementation type.

hasOverrideAttr

boolean

True when annotated with override.

hasTrailingReturn

boolean

True when using a trailing return type.

isConst

boolean

True when qualified const.

isDefaulted

boolean

True when this declaration is implicitly defaulted.

isDeleted

boolean

True when this declaration is deleted.

isDeletedAsWritten

boolean

True when deleted as written (vs deduced).

isExplicitObjectMemberFunction

boolean

True when explicit object parameter syntax is used.

isExplicitlyDefaulted

boolean

True when explicitly defaulted with = default.

isFinal

boolean

True when final-qualified.

isListedOnPrimary

boolean

Whether this function is listed on its primary’s page.

isPure

boolean

True when the function is pure virtual.

isRecordMethod

boolean

True when this is a non-static member function.

isVariadic

boolean

True when the function is variadic.

isVirtual

boolean

True when declared virtual (after overrides).

isVirtualAsWritten

boolean

True when explicitly written virtual.

isVolatile

boolean

True when qualified volatile.

noexcept

NoexceptInfo

Exception specification for the function.

overloadedOperator

string

Overloaded operator kind, if any. One of: none, new, delete, array-new, array-delete, plus, minus, star, slash, percent, caret, amp, pipe, tilde, equal, plus-equal, minus-equal, star-equal, slash-equal, percent-equal, caret-equal, amp-equal, pipe-equal, less-less, greater-greater, less-less-equal, greater-greater-equal, exclaim, equal-equal, exclaim-equal, less, less-equal, greater, greater-equal, spaceship, amp-amp, pipe-pipe, plus-plus, minus-minus, comma, arrow-star, arrow, call, subscript, conditional, coawait.

params

Param[]

List of parameters.

refQualifier

string

Reference qualifier on the member function, if any. One of: none, l-value, r-value.

requires

string

Constrained requires-clause if present.

returnType

Type

Info about the return type of this function.

specializations

string[]

Specializations whose primary is this function.

storageClass

string

Storage class specifier. One of: none, extern, static, auto, register.

template

TemplateInfo

Optional. When present, this function is a template or specialization.

guide

Info for deduction guides.

Field Type Description

access

string

Declaration access. One of: none, public, protected, private.

anchor

string

A legible, filesystem- and URL-safe name for this symbol.

attributes

Attribute[]

The C++ attributes attached to this declaration.

extraction

string

Determine why a symbol is extracted. One of: regular, see-below, implementation-defined, dependency.

isCopyFromInherited

boolean

Whether this a copy of an inherited method, as produced when inherit-base-members is not never.

kind

string

Kind of declaration. One of: none.

loc

SourceInfo

The source location information.

name

string

The unqualified name.

parent

string

The parent symbol, if any.

doc

DocComment

Optional. The extracted documentation for this declaration.

id

string

The unique identifier for this symbol.

deduced

Type

The pattern for the deduced specialization.

explicit

ExplicitInfo

The explicit-specifier, if any.

params

Param[]

The parameters of the deduction guide.

template

TemplateInfo

Optional. Template head, if any.

macro

Info for preprocessor macros.

Field Type Description

access

string

Declaration access. One of: none, public, protected, private.

anchor

string

A legible, filesystem- and URL-safe name for this symbol.

attributes

Attribute[]

The C++ attributes attached to this declaration.

extraction

string

Determine why a symbol is extracted. One of: regular, see-below, implementation-defined, dependency.

isCopyFromInherited

boolean

Whether this a copy of an inherited method, as produced when inherit-base-members is not never.

kind

string

Kind of declaration. One of: none.

loc

SourceInfo

The source location information.

name

string

The unqualified name.

parent

string

The parent symbol, if any.

doc

DocComment

Optional. The extracted documentation for this declaration.

id

string

The unique identifier for this symbol.

isFunctionLike

boolean

Whether this is a function-like macro.

isVariadic

boolean

Whether the macro takes a variadic argument list.

parameters

string[]

The names of the macro’s parameters.

namespaceAlias

Info for namespace aliases.

Field Type Description

access

string

Declaration access. One of: none, public, protected, private.

anchor

string

A legible, filesystem- and URL-safe name for this symbol.

attributes

Attribute[]

The C++ attributes attached to this declaration.

extraction

string

Determine why a symbol is extracted. One of: regular, see-below, implementation-defined, dependency.

isCopyFromInherited

boolean

Whether this a copy of an inherited method, as produced when inherit-base-members is not never.

kind

string

Kind of declaration. One of: none.

loc

SourceInfo

The source location information.

name

string

The unqualified name.

parent

string

The parent symbol, if any.

doc

DocComment

Optional. The extracted documentation for this declaration.

id

string

The unique identifier for this symbol.

aliasedSymbol

IdentifierName

The aliased symbol.

namespace

Describes a namespace and its members.

Field Type Description

access

string

Declaration access. One of: none, public, protected, private.

anchor

string

A legible, filesystem- and URL-safe name for this symbol.

attributes

Attribute[]

The C++ attributes attached to this declaration.

extraction

string

Determine why a symbol is extracted. One of: regular, see-below, implementation-defined, dependency.

isCopyFromInherited

boolean

Whether this a copy of an inherited method, as produced when inherit-base-members is not never.

kind

string

Kind of declaration. One of: none.

loc

SourceInfo

The source location information.

name

string

The unqualified name.

parent

string

The parent symbol, if any.

doc

DocComment

Optional. The extracted documentation for this declaration.

id

string

The unique identifier for this symbol.

isAnonymous

boolean

Whether this represents an unnamed namespace.

isInline

boolean

Whether this declaration is inline.

members

NamespaceTranche

The members of this namespace.

usingDirectives

Name[]

Namespaces nominated by using-directives.

overloads

Represents a set of function overloads.

Field Type Description

access

string

Declaration access. One of: none, public, protected, private.

anchor

string

A legible, filesystem- and URL-safe name for this symbol.

attributes

Attribute[]

The C++ attributes attached to this declaration.

extraction

string

Determine why a symbol is extracted. One of: regular, see-below, implementation-defined, dependency.

isCopyFromInherited

boolean

Whether this a copy of an inherited method, as produced when inherit-base-members is not never.

kind

string

Kind of declaration. One of: none.

loc

SourceInfo

The source location information.

name

string

The unqualified name.

parent

string

The parent symbol, if any.

doc

DocComment

Optional. The extracted documentation for this declaration.

id

string

The unique identifier for this symbol.

funcClass

string

The class of the functions. One of: normal, constructor, conversion, destructor.

members

string[]

The members of the overload set.

overloadedOperator

string

The overloaded operator, if any. One of: none, new, delete, array-new, array-delete, plus, minus, star, slash, percent, caret, amp, pipe, tilde, equal, plus-equal, minus-equal, star-equal, slash-equal, percent-equal, caret-equal, amp-equal, pipe-equal, less-less, greater-greater, less-less-equal, greater-greater-equal, exclaim, equal-equal, exclaim-equal, less, less-equal, greater, greater-equal, spaceship, amp-amp, pipe-pipe, plus-plus, minus-minus, comma, arrow-star, arrow, call, subscript, conditional, coawait.

returnType

Type

Info about the return type of these function overloads.

record

Metadata for struct, class, or union.

Field Type Description

access

string

Declaration access. One of: none, public, protected, private.

anchor

string

A legible, filesystem- and URL-safe name for this symbol.

attributes

Attribute[]

The C++ attributes attached to this declaration.

extraction

string

Determine why a symbol is extracted. One of: regular, see-below, implementation-defined, dependency.

isCopyFromInherited

boolean

Whether this a copy of an inherited method, as produced when inherit-base-members is not never.

kind

string

Kind of declaration. One of: none.

loc

SourceInfo

The source location information.

name

string

The unqualified name.

parent

string

The parent symbol, if any.

doc

DocComment

Optional. The extracted documentation for this declaration.

id

string

The unique identifier for this symbol.

bases

BaseInfo[]

List of immediate bases.

deductionGuides

string[]

Deduction guides associated with this class template.

derived

string[]

List of derived classes

friends

FriendInfo[]

List of friends.

interface

RecordInterface

Lists of members.

isFinal

boolean

Whether the class is marked final.

isFinalDestructor

boolean

Whether the destructor is marked final.

isListedOnPrimary

boolean

Whether this record is listed on its primary’s page.

isTypeDef

boolean

Whether the record originated from a typedef-style declaration.

keyKind

string

Kind of record this is (class, struct, or union). One of: struct, class, union.

specializations

string[]

Specializations whose primary is this record.

template

TemplateInfo

Optional. When present, this record is a template or specialization.

typedef

Info for typedef and using declarations.

Field Type Description

access

string

Declaration access. One of: none, public, protected, private.

anchor

string

A legible, filesystem- and URL-safe name for this symbol.

attributes

Attribute[]

The C++ attributes attached to this declaration.

extraction

string

Determine why a symbol is extracted. One of: regular, see-below, implementation-defined, dependency.

isCopyFromInherited

boolean

Whether this a copy of an inherited method, as produced when inherit-base-members is not never.

kind

string

Kind of declaration. One of: none.

loc

SourceInfo

The source location information.

name

string

The unqualified name.

parent

string

The parent symbol, if any.

doc

DocComment

Optional. The extracted documentation for this declaration.

id

string

The unique identifier for this symbol.

isUsing

boolean

Indicates if this is a new C++ "using"-style typedef

template

TemplateInfo

Optional. Template information when the alias is templated.

type

Type

The aliased type.

using

Info for using declarations.

Field Type Description

access

string

Declaration access. One of: none, public, protected, private.

anchor

string

A legible, filesystem- and URL-safe name for this symbol.

attributes

Attribute[]

The C++ attributes attached to this declaration.

extraction

string

Determine why a symbol is extracted. One of: regular, see-below, implementation-defined, dependency.

isCopyFromInherited

boolean

Whether this a copy of an inherited method, as produced when inherit-base-members is not never.

kind

string

Kind of declaration. One of: none.

loc

SourceInfo

The source location information.

name

string

The unqualified name.

parent

string

The parent symbol, if any.

doc

DocComment

Optional. The extracted documentation for this declaration.

id

string

The unique identifier for this symbol.

class

string

The using declaration. One of: normal, typename, enum.

introducedName

Name

The symbol being introduced.

shadowDeclarations

string[]

The shadow declarations.

variable

A variable.

Field Type Description

access

string

Declaration access. One of: none, public, protected, private.

anchor

string

A legible, filesystem- and URL-safe name for this symbol.

attributes

Attribute[]

The C++ attributes attached to this declaration.

extraction

string

Determine why a symbol is extracted. One of: regular, see-below, implementation-defined, dependency.

isCopyFromInherited

boolean

Whether this a copy of an inherited method, as produced when inherit-base-members is not never.

kind

string

Kind of declaration. One of: none.

loc

SourceInfo

The source location information.

name

string

The unqualified name.

parent

string

The parent symbol, if any.

doc

DocComment

Optional. The extracted documentation for this declaration.

id

string

The unique identifier for this symbol.

bitfieldWidth

ConstantExprInfo

The width of the bitfield

initializer

string

The default member initializer, if any.

isBitfield

boolean

Whether the field is a bitfield

isConstexpr

boolean

Whether the variable is constexpr.

isConstinit

boolean

Whether the variable is constinit.

isInline

boolean

Whether the variable is declared inline.

isMutable

boolean

Whether the field is declared mutable

isRecordField

boolean

True if this variable is a data member of a record.

isThreadLocal

boolean

Whether the variable is thread_local.

isVariant

boolean

Whether the field is a variant member

storageClass

string

Storage class specifier applied to the variable. One of: none, extern, static, auto, register.

template

TemplateInfo

Optional. The template information, if any.

type

Type

The type of the variable

Types

A possibly qualified type.

array

C++ array type (bounded or unbounded).

Field Type Description

constraints

string[]

The constraints associated with the type

isConst

boolean

The const qualifier

isPackExpansion

boolean

Whether this is the pattern of a pack expansion.

isVolatile

boolean

The volatile qualifier

kind

string

The kind of Type this is

bounds

ConstantExprInfo

Optional bound; empty means unknown or dependent.

elementType

Type

Element type held by the array.

auto

Represents auto or decltype(auto) placeholder type.

Field Type Description

constraints

string[]

The constraints associated with the type

isConst

boolean

The const qualifier

isPackExpansion

boolean

Whether this is the pattern of a pack expansion.

isVolatile

boolean

The volatile qualifier

kind

string

The kind of Type this is

constraint

Name

Optional. Constraint on the auto type, if any.

keyword

string

Which placeholder keyword appears (auto or decltype(auto)). One of: auto, decltype-auto.

decltype

decltype(expr) type wrapper.

Field Type Description

constraints

string[]

The constraints associated with the type

isConst

boolean

The const qualifier

isPackExpansion

boolean

Whether this is the pattern of a pack expansion.

isVolatile

boolean

The volatile qualifier

kind

string

The kind of Type this is

operand

string

Operand expression for decltype.

function

Function type with parameters, qualifiers, and noexcept info.

Field Type Description

constraints

string[]

The constraints associated with the type

isConst

boolean

The const qualifier

isPackExpansion

boolean

Whether this is the pattern of a pack expansion.

isVolatile

boolean

The volatile qualifier

kind

string

The kind of Type this is

exceptionSpec

NoexceptInfo

Exception specification information.

isVariadic

boolean

True when this function type is variadic.

paramTypes

Type[]

Parameter types in declaration order.

refQualifier

string

Reference qualifier (if present). One of: none, l-value, r-value.

returnType

Type

Return type, defaults to auto when unknown.

lValueReference

An lvalue reference type.

Field Type Description

constraints

string[]

The constraints associated with the type

isConst

boolean

The const qualifier

isPackExpansion

boolean

Whether this is the pattern of a pack expansion.

isVolatile

boolean

The volatile qualifier

kind

string

The kind of Type this is

pointeeType

Type

The referenced type.

memberPointer

Pointer-to-member type (object or function).

Field Type Description

constraints

string[]

The constraints associated with the type

isConst

boolean

The const qualifier

isPackExpansion

boolean

Whether this is the pattern of a pack expansion.

isVolatile

boolean

The volatile qualifier

kind

string

The kind of Type this is

parentType

Type

Containing class type.

pointeeType

Type

Pointee type being referenced.

named

A type identified by name (possibly fundamental).

Field Type Description

constraints

string[]

The constraints associated with the type

isConst

boolean

The const qualifier

isPackExpansion

boolean

Whether this is the pattern of a pack expansion.

isVolatile

boolean

The volatile qualifier

kind

string

The kind of Type this is

fundamentalType

string

Optional. Fundamental kind if this named type is a built-in. One of: void, nullptr, bool, char, signed-char, unsigned-char, char8, char16, char32, w-char, short, unsigned-short, int, unsigned-int, long, unsigned-long, long-long, unsigned-long-long, float, double, long-double.

name

Name

The name of the type (identifier or specialization).

pointer

Pointer type wrapper.

Field Type Description

constraints

string[]

The constraints associated with the type

isConst

boolean

The const qualifier

isPackExpansion

boolean

Whether this is the pattern of a pack expansion.

isVolatile

boolean

The volatile qualifier

kind

string

The kind of Type this is

pointeeType

Type

The pointee type, defaults to auto when unknown.

rValueReference

An rvalue reference type.

Field Type Description

constraints

string[]

The constraints associated with the type

isConst

boolean

The const qualifier

isPackExpansion

boolean

Whether this is the pattern of a pack expansion.

isVolatile

boolean

The volatile qualifier

kind

string

The kind of Type this is

pointeeType

Type

The referenced type, defaults to auto when unknown.

Names

Represents a name for a named Type

identifier

Represents an identifier

Field Type Description

identifier

string

The unqualified name.

kind

string

The kind of name this is.

prefix

Name

Optional. The parent name info, if any.

id

string

The SymbolID of the named symbol, if it exists.

specialization

Represents a (possibly qualified) symbol name with template arguments.

Field Type Description

identifier

string

The unqualified name.

kind

string

The kind of name this is.

prefix

Name

Optional. The parent name info, if any.

id

string

The SymbolID of the named symbol, if it exists.

templateArgs

TArg[]

The template arguments.

specializationID

string

The SymbolID of the named symbol, if it exists.

Attributes

A C++ attribute attached to a symbol.

assume

The [[assume(expression)]] attribute (C++23).

Field Type Description

kind

string

The kind of attribute.

name

string

The attribute name as it appears in the standard form.

balancedTokens

string[]

The attribute arguments as a balanced-token sequence.

expression

string

The assumed expression, as written.

carriesDependency

The attribute (C++11): release-consume dependency propagation.

Field Type Description

kind

string

The kind of attribute.

name

string

The attribute name as it appears in the standard form.

balancedTokens

string[]

The attribute arguments as a balanced-token sequence.

deprecated

The attribute (C++14).

Field Type Description

kind

string

The kind of attribute.

name

string

The attribute name as it appears in the standard form.

balancedTokens

string[]

The attribute arguments as a balanced-token sequence.

message

string

The deprecation message, if any.

fallthrough

The attribute (C++17): an intentional switch fall-through.

Field Type Description

kind

string

The kind of attribute.

name

string

The attribute name as it appears in the standard form.

balancedTokens

string[]

The attribute arguments as a balanced-token sequence.

indeterminate

The attribute (C++26): the object has an indeterminate value if uninitialized.

Field Type Description

kind

string

The kind of attribute.

name

string

The attribute name as it appears in the standard form.

balancedTokens

string[]

The attribute arguments as a balanced-token sequence.

likely

The attribute (C++20): this path is more likely.

Field Type Description

kind

string

The kind of attribute.

name

string

The attribute name as it appears in the standard form.

balancedTokens

string[]

The attribute arguments as a balanced-token sequence.

maybeUnused

The attribute (C++17): suppresses unused-entity warnings.

Field Type Description

kind

string

The kind of attribute.

name

string

The attribute name as it appears in the standard form.

balancedTokens

string[]

The attribute arguments as a balanced-token sequence.

noUniqueAddress

The attribute (C++20): the member need not have a unique address.

Field Type Description

kind

string

The kind of attribute.

name

string

The attribute name as it appears in the standard form.

balancedTokens

string[]

The attribute arguments as a balanced-token sequence.

nodiscard

The attribute (C17, reason added in C20).

Field Type Description

kind

string

The kind of attribute.

name

string

The attribute name as it appears in the standard form.

balancedTokens

string[]

The attribute arguments as a balanced-token sequence.

reason

string

The reason, if any.

noreturn

The attribute (C++11): the function does not return.

Field Type Description

kind

string

The kind of attribute.

name

string

The attribute name as it appears in the standard form.

balancedTokens

string[]

The attribute arguments as a balanced-token sequence.

other

An attribute mrdocs does not treat specially.

Field Type Description

kind

string

The kind of attribute.

name

string

The attribute name as it appears in the standard form.

balancedTokens

string[]

The attribute arguments as a balanced-token sequence.

unlikely

The attribute (C++20): this path is less likely.

Field Type Description

kind

string

The kind of attribute.

name

string

The attribute name as it appears in the standard form.

balancedTokens

string[]

The attribute arguments as a balanced-token sequence.

Template Parameters

Base class for a template parameter declaration.

constant

A constant template parameter

Field Type Description

default

TArg

Optional. The default template argument, if any

isParameterPack

boolean

Whether this template parameter is a parameter pack

kind

string

The kind of template parameter this is

name

string

The template parameters name, if any

type

Type

Type of the non-type template parameter

template

Template template parameter.

Field Type Description

default

TArg

Optional. The default template argument, if any

isParameterPack

boolean

Whether this template parameter is a parameter pack

kind

string

The kind of template parameter this is

name

string

The template parameters name, if any

params

TParam[]

Template parameters for the template-template parameter

type

Type template parameter.

Field Type Description

default

TArg

Optional. The default template argument, if any

isParameterPack

boolean

Whether this template parameter is a parameter pack

kind

string

The kind of template parameter this is

name

string

The template parameters name, if any

constraint

Name

Optional. The type-constraint for the parameter, if any.

keyKind

string

Keyword (class/typename) the parameter uses One of: class, typename.

Template Arguments

Base class for any template argument.

constant

Non-type template argument.

Field Type Description

isPackExpansion

boolean

Whether this template argument is a parameter expansion.

kind

string

The kind of template argument this is.

value

string

Template argument expression.

template

Template template argument.

Field Type Description

isPackExpansion

boolean

Whether this template argument is a parameter expansion.

kind

string

The kind of template argument this is.

name

string

Name of the referenced template.

template

string

SymbolID of the referenced template.

type

Type template argument.

Field Type Description

isPackExpansion

boolean

Whether this template argument is a parameter expansion.

kind

string

The kind of template argument this is.

type

Type

Template argument type.

Documentation Blocks

A piece of block content

admonition

A block for side-notes like tips, warnings, notes

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

blocks

Block[]

Child blocks contained within this composite block.

title

Inline

Optional. Optional title for the admonition

admonish

string

The kind of admonition One of: none, note, tip, important, caution, warning.

brief

The brief description

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

children

Inline[]

Child inline elements contained here.

copiedFrom

string[]

Names of declarations whose brief text was reused.

code

Preformatted source code.

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

info

string

Fence info string, e.g. "cpp"

literal

string

Raw code text inside the fenced block.

definitionList

A list of terms paired with definitions.

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

items

DefinitionListItem[]

Sequence of definition list items.

footnoteDefinition

Text defining the content of a footnote reference.

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

blocks

Block[]

Child blocks contained within this composite block.

label

string

Footnote label identifier.

heading

A manually specified section heading.

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

children

Inline[]

Child inline elements contained here.

level

integer

Heading depth (1..6).

list

A list of list items

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

items

ListItem[]

Items contained in the list.

listKind

string

Display style for the list. One of: unordered, ordered.

math

A block of LaTeX math

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

literal

string

Raw TeX math source

paragraph

A sequence of text nodes.

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

children

Inline[]

Child inline elements contained here.

param

Documentation for a function parameter

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

children

Inline[]

Child inline elements contained here.

direction

string

Direction (in/out/inout) of the parameter. One of: none, in, out, inout.

name

string

Name of the parameter being documented.

postcondition

Text describing conditions guaranteed on successful exit.

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

children

Inline[]

Child inline elements contained here.

precondition

Text describing required conditions before entry.

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

children

Inline[]

Child inline elements contained here.

quote

A quoted block of text.

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

blocks

Block[]

Child blocks contained within this composite block.

returns

Documentation for a function return type

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

children

Inline[]

Child inline elements contained here.

see

A

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

children

Inline[]

Child inline elements contained here.

tParam

Documentation for a template parameter

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

children

Inline[]

Child inline elements contained here.

name

string

Template parameter name.

table

A table block

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

alignments

array

Column alignments for each table column.

items

TableRow[]

Rows that make up the table body (header first when present).

thematicBreak

A horizontal thematic break separating sections.

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

throws

Documentation for a function exception clause

Field Type Description

kind

string

Discriminator identifying which concrete block this instance holds.

children

Inline[]

Child inline elements contained here.

exception

ReferenceInline

Exception type being described.

Documentation Inlines

A Node containing a string of text.

code

Inline code (monospaced) used for short snippets within text.

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

children

Inline[]

Child inline elements contained here.

copyDetails

Documentation copied from another symbol.

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

id

string

Symbol to copy details from.

string

string

Element to copy the details from

emph

Emphasized text (typically rendered in italics).

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

children

Inline[]

Child inline elements contained here.

footnoteReference

A reference to a symbol.

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

label

string

Footnote label that the reference points to.

highlight

Highlighted text span used to call out important words.

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

children

Inline[]

Child inline elements contained here.

image

An image.

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

children

Inline[]

Child inline elements contained here.

alt

string

Alternate text when the image cannot be shown.

src

string

Image source URL or path.

lineBreak

A hard line break that renders as ""

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

A hyperlink.

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

children

Inline[]

Child inline elements contained here.

href

string

Destination of the hyperlink.

math

An inline LaTeX math expression

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

literal

string

Raw LaTeX/TeX math content.

reference

A reference to a symbol.

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

id

string

Symbol being referenced.

literal

string

Display text of the reference.

softBreak

A line break that may render as a space

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

strikethrough

Strikethrough span to show removed or deprecated text.

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

children

Inline[]

Child inline elements contained here.

strong

Strong emphasis span (typically rendered in bold).

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

children

Inline[]

Child inline elements contained here.

subscript

Subscript text fragment (lowered baseline).

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

children

Inline[]

Child inline elements contained here.

superscript

Superscript text fragment (raised baseline).

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

children

Inline[]

Child inline elements contained here.

text

A Node containing a string of text.

Field Type Description

kind

string

Discriminator identifying which inline variant is active.

literal

string

Plain text carried by this inline node.

Other Structures

BaseInfo

Metadata for a direct base.

Field Type Description

access

string

The access specifier for the base. One of: none, public, protected, private.

isVirtual

boolean

Whether the base is virtual.

type

Type

The base type.

ConstantExprInfo

Represents an expression with a (possibly known) value

Field Type Description

written

string

The expression, as written

value

value

Optional. The expressions value, if it is known

DefinitionListItem

An item in a definition list

Field Type Description

blocks

Block[]

Child blocks contained within this composite block.

term

InlineContainer

The term being defined.

DocComment

A processed documentation comment attached to a declaration.

Field Type Description

document

Block[]

The list of text blocks.

isFunctionObject

boolean

True if the

isImplementationDefined

boolean

True if the

isSeeBelow

boolean

True if the

brief

BriefBlock

Optional. A brief description of the symbol.

exceptions

ThrowsBlock[]

The list of exceptions.

footnotes

FootnoteDefinitionBlock[]

Footnote definitions.

params

ParamBlock[]

The list of parameters.

postconditions

PostconditionBlock[]

The list of postconditions.

preconditions

PreconditionBlock[]

The list of preconditions.

related

ReferenceInline[]

The list of "related" references.

relates

ReferenceInline[]

The list of "relates" references.

returns

ReturnsBlock[]

The list of return type descriptions.

sees

SeeBlock[]

The list of "see also" references.

tparams

TParamBlock[]

The list of template parameters.

ExplicitInfo

Stores only the operand of the explicit-specifier or noexcept-specifier as a string. The complete expression is not preserved at this time. This is a temporary design and may be improved in the future.

Field Type Description

implicit

boolean

Whether an explicit-specifier was user-written.

kind

string

The evaluated exception specification. One of: false, true, dependent.

operand

string

The operand of the explicit-specifier, if any.

FriendInfo

Info for friend declarations.

Field Type Description

type

Type

Optional. Befriended type.

id

string

Befriended symbol.

InlineContainer

An internal node in the inline element tree.

Field Type Description

children

Inline[]

Child inline elements contained here.

ListItem

An item in a ListBlock

Field Type Description

blocks

Block[]

Child blocks contained within this composite block.

Location

Source location of a symbol or entity.

Field Type Description

columnNumber

integer

Column number within the line

documented

boolean

Whether this location has documentation.

fullPath

string

The full file path

lineNumber

integer

Line number within the file

shortPath

string

The file path relative to one of the search directories

sourcePath

string

The file path relative to the source-root directory

NamespaceTranche

Buckets the members that appear inside a namespace.

Field Type Description

concepts

string[]

Concepts.

enums

string[]

Enumerations.

functions

string[]

Functions and overload sets.

guides

string[]

Deduction guides.

macros

string[]

Preprocessor macros.

namespaceAliases

string[]

Namespace aliases declared here.

namespaces

string[]

Nested namespaces.

records

string[]

Record types (classes/structs).

typedefs

string[]

Typedef or using declarations.

usings

string[]

Using-declarations that introduce members.

variables

string[]

Variables.

NoexceptInfo

Captures a noexcept specification and its evaluated form.

Field Type Description

implicit

boolean

Whether a noexcept-specifier was user-written.

kind

string

The evaluated exception specification. One of: false, true, dependent.

operand

string

The operand of the noexcept-specifier, if any.

Param

Represents a single function parameter

Field Type Description

default

string

Optional. The default argument for this parameter, if any

name

string

Optional. The parameter name.

type

Type

The type of this parameter

RecordInterface

The aggregated interface for a given struct, class, or union.

Field Type Description

private

RecordTranche

The aggregated private interfaces.

protected

RecordTranche

The aggregated protected interfaces.

public

RecordTranche

The aggregated public interfaces.

RecordTranche

A group of members that have the same access specifier.

Field Type Description

concepts

string[]

Member concepts.

enums

string[]

Enumerations.

functions

string[]

Member functions.

guides

string[]

Deduction guides in the class scope.

namespaceAliases

string[]

Namespace aliases declared with this access.

records

string[]

Nested records.

staticFunctions

string[]

Static member functions.

staticVariables

string[]

Static data members.

typedefs

string[]

Typedefs and using aliases.

usings

string[]

Using-declarations that pull members into the class.

variables

string[]

Data members.

SourceInfo

Stores source information for a declaration.

Field Type Description

defLoc

Location

Optional. Location where the entity was defined

loc

Location[]

Locations where the entity was declared.

TableCell

A cell in a table

Field Type Description

children

Inline[]

Child inline elements contained here.

TableRow

An item in a list

Field Type Description

cells

TableCell[]

Cells contained in the row.

isHeader

boolean

True if this row represents a header.

TemplateInfo

Information about templates and specializations thereof.

Field Type Description

args

TArg[]

Bound arguments for specializations.

params

TParam[]

Template parameter list.

primary

string

Primary template ID for partial and explicit specializations.

requires

string

The requires-clause for the template parameter list, if any.