mrdocs::SymbolCommonBase

Base class for providing variant discriminator functions.

Synopsis

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

template<SymbolKind K>
struct SymbolCommonBase
    : Symbol

Description

This offers functions that return a boolean at compile-time, indicating if the most-derived class is a certain type.

Base Classes

NameDescription
SymbolBase class with common properties of all symbols

Member Functions

NameDescription
asInfo asInfo overloads

Data Members

NameDescription
Access Declaration access.
Extraction Determine why a symbol is extracted.
IsCopyFromInherited Whether this a copy of an inherited method, as produced when inherit-base-members is not never.
Kind Kind of declaration.
Loc The source location information.
Name The unqualified name.
Parent The parent symbol, if any.
doc The extracted documentation for this declaration.
id The unique identifier for this symbol.

Static Data Members

NameDescription
kind_id The variant discriminator constant of the most-derived class.

Protected Member Functions

NameDescription
SymbolCommonBase [constructor]Constructors

Friends

NameDescription
mrdocs::mrdocs_member_descriptor_fn
mrdocs::mrdocs_base_descriptor_fn

Non-Member Functions

NameDescription
canMergeCheck whether two symbols may be merged.
getPrimaryLocationDetermine a location to use when none is explicitly chosen.

Derived Classes

NameDescription
ConceptSymbol Info for concepts.
EnumConstantSymbol Info for enum constants.
EnumSymbol Metadata for an enumeration declaration.
FunctionSymbol Metadata for a function or method.
GuideSymbol Info for deduction guides.
NamespaceAliasSymbol Info for namespace aliases.
NamespaceSymbol Describes a namespace and its members.
OverloadsSymbol Represents a set of function overloads.
RecordSymbol Metadata for struct, class, or union.
TypedefSymbol Info for typedef and using declarations.
UsingSymbol Info for using declarations.
VariableSymbol A variable.