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 · sourcepub fn borrow_mut(&mut self) -> &mut T
pub 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.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub 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