mrdocs::TypeCommonBase

CRTP base that ties a concrete type to a fixed TypeKind.

Synopsis

Declared in <mrdocs/Metadata/Type/TypeBase.hpp>
template<TypeKind K>
struct TypeCommonBase
    : Type

Base Classes

Name Description
TypeA possibly qualified type.

Member Functions

NameDescription
asType asType overloads
namedSymbol Return the symbol named by this type.
operator<=> Three-way comparison operators

Static Member Functions

NameDescription
isArray True when this is an array type.
isAuto True when this concrete kind is auto.
isDecltype True when this concrete kind is decltype.
isFunction True when this is a function type.
isLValueReference True when this is an lvalue reference.
isMemberPointer True when this is a member pointer.
isNamed True when this concrete kind is a named type.
isPointer True when this is a pointer type.
isRValueReference True when this is an rvalue reference.

Data Members

NameDescription
Constraints The constraints associated with the type
IsConst The const qualifier
IsPackExpansion Whether this is the pattern of a pack expansion.
IsVolatile The volatile qualifier
Kind The kind of Type this is

Static Data Members

NameDescription
kind_id Static discriminator for the concrete type.

Protected Member Functions

NameDescription
TypeCommonBase [constructor]Construct the base with the fixed kind.

Non-Member Functions

Name Description
innerTypeReturn the inner type.
innerTypeReturn the inner type.
innerTypePtrReturn the inner type.
innerTypePtrReturn the inner type.
toStringRender a type to a human-readable string.

Derived Classes

Name Description
ArrayType C++ array type (bounded or unbounded).
AutoType Represents auto or decltype(auto) placeholder type.
DecltypeType decltype(expr) type wrapper.
FunctionType Function type with parameters, qualifiers, and noexcept info.
LValueReferenceType An lvalue reference type.
MemberPointerType Pointer-to-member type (object or function).
NamedType A type identified by name (possibly fundamental).
PointerType Pointer type wrapper.
RValueReferenceType An rvalue reference type.