Enum cpp_demangle::ast::Type
source · pub enum Type {
Show 16 variants
Function(FunctionType),
ClassEnum(ClassEnumType),
Array(ArrayType),
Vector(VectorType),
PointerToMember(PointerToMemberType),
TemplateParam(TemplateParam),
TemplateTemplate(TemplateTemplateParamHandle, TemplateArgs),
Decltype(Decltype),
Qualified(CvQualifiers, TypeHandle),
PointerTo(TypeHandle),
LvalueRef(TypeHandle),
RvalueRef(TypeHandle),
Complex(TypeHandle),
Imaginary(TypeHandle),
VendorExtension(SourceName, Option<TemplateArgs>, TypeHandle),
PackExpansion(TypeHandle),
}
Expand description
The <type>
production.
<type> ::= <builtin-type>
::= <function-type>
::= <class-enum-type>
::= <array-type>
::= <vector-type>
::= <pointer-to-member-type>
::= <template-param>
::= <template-template-param> <template-args>
::= <decltype>
::= <CV-qualifiers> <type>
::= P <type> # pointer-to
::= R <type> # reference-to
::= O <type> # rvalue reference-to (C++0x)
::= C <type> # complex pair (C 2000)
::= G <type> # imaginary (C 2000)
::= U <source-name> [<template-args>] <type> # vendor extended type qualifier
::= Dp <type> # pack expansion (C++0x)
::= <substitution>
Variants§
Function(FunctionType)
A function type.
ClassEnum(ClassEnumType)
A class, union, or enum type.
Array(ArrayType)
An array type.
Vector(VectorType)
A vector type.
PointerToMember(PointerToMemberType)
A pointer-to-member type.
TemplateParam(TemplateParam)
A named template parameter type.
TemplateTemplate(TemplateTemplateParamHandle, TemplateArgs)
A template template type.
Decltype(Decltype)
A decltype.
Qualified(CvQualifiers, TypeHandle)
A const-, restrict-, and/or volatile-qualified type.
PointerTo(TypeHandle)
A pointer to a type.
LvalueRef(TypeHandle)
An lvalue reference to a type.
RvalueRef(TypeHandle)
An rvalue reference to a type.
Complex(TypeHandle)
A complex pair of the given type.
Imaginary(TypeHandle)
An imaginary of the given type.
VendorExtension(SourceName, Option<TemplateArgs>, TypeHandle)
A vendor extended type qualifier.
PackExpansion(TypeHandle)
A pack expansion.