Base class for providing variant discriminator functions.
<mrdocs/Metadata/Symbol/SymbolBase.hpp>
template<SymbolKind K>
struct SymbolCommonBase
: Symbol
| Name | Description |
|---|---|
Symbol | Base class with common properties of all symbols |
| Name | Description |
|---|---|
asInfo | |
operator<=> | Three-way comparison operators |
| Name | Description |
|---|---|
Access | Declaration access. |
Extraction | Determine why a symbol is extracted. |
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. |
| Name | Description |
|---|---|
kind_id | The variant discriminator constant of the most-derived class. |
| Name | Description |
|---|---|
SymbolCommonBase [constructor] | Constructors |
| Name | Description |
|---|---|
merge | Merges two Symbol objects. |
| Name | Description |
|---|---|
ConceptSymbol
| Info for concepts. |
EnumConstantSymbol
| Info for enum constants. |
EnumSymbol
| |
FunctionSymbol
| |
GuideSymbol
| Info for deduction guides. |
NamespaceAliasSymbol
| Info for namespace aliases. |
NamespaceSymbol
| Describes a namespace. |
OverloadsSymbol
| Represents a set of function overloads. |
RecordSymbol
| Metadata for struct, class, or union. |
TypedefSymbol
| |
UsingSymbol
| Info for using declarations. |
VariableSymbol
| A variable. |
This offers functions that return a boolean at compile-time, indicating if the most-derived class is a certain type.