mrdocs::FunctionSymbol

Metadata for a function or method.

Synopsis

Declared in <mrdocs/Metadata/Symbol/Function.hpp>

struct FunctionSymbol final
    : SymbolCommonBase<SymbolKind::Function>

Base Classes

Name Description

SymbolCommonBase<SymbolKind::Function>

Base class for providing variant discriminator functions.

Member Functions

Name

Description

FunctionSymbol [constructor]

Construct a function symbol with its ID.

operator<=>

Compare functions by signature, qualifiers, and metadata.

Data Members

Name

Description

Attributes

Collected attributes attached to the declaration.

Class

The class of function this is

Constexpr

constexpr/consteval specifier.

Explicit

explicit‐specifier information.

HasOverrideAttr

True when annotated with override.

HasTrailingReturn

True when using a trailing return type.

IsConst

True when qualified const.

IsDefaulted

True when this declaration is implicitly defaulted.

IsDeleted

True when this declaration is deleted.

IsDeletedAsWritten

True when deleted as written (vs deduced).

IsExplicitObjectMemberFunction

True when explicit object parameter syntax is used.

IsExplicitlyDefaulted

True when explicitly defaulted with = default.

IsFinal

True when final‐qualified.

IsNoReturn

True when marked [[noreturn]]or equivalent.

IsNodiscard

True when declared [[nodiscard]].

IsPure

True when the function is pure virtual.

IsRecordMethod

True when this is a non‐static member function.

IsVariadic

True when the function is variadic.

IsVirtual

True when declared virtual (after overrides).

IsVirtualAsWritten

True when explicitly written virtual.

IsVolatile

True when qualified volatile.

Noexcept

Exception specification for the function.

OverloadedOperator

Overloaded operator kind, if any.

Params

List of parameters.

RefQualifier

Reference qualifier on the member function, if any.

Requires

Constrained requires‐clause if present.

ReturnType

Info about the return type of this function.

StorageClass

Storage class specifier.

Template

When present, this function is a template or specialization.

Static Data Members

Name

kind_id

Non-Member Functions

Name

Description

canMerge

Check whether two symbols may be merged.

getPrimaryLocation

Determine a location to use when none is explicitly chosen.

merge

Merges two Symbol objects.

merge

Merge metadata from another function symbol.

overrides

Determine if one function would override the other

Created with MrDocs