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.
Trait Implementations
impl Eq for Type
impl StructuralEq for Type
impl StructuralPartialEq for Type
Auto Trait Implementations
impl RefUnwindSafe for Type
impl Send for Type
impl Sync for Type
impl Unpin for Type
impl UnwindSafe for Type
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more