Enum cpp_demangle::ast::CtorDtorName
source · [−]pub enum CtorDtorName {
CompleteConstructor(Option<TypeHandle>),
BaseConstructor(Option<TypeHandle>),
CompleteAllocatingConstructor(Option<TypeHandle>),
MaybeInChargeConstructor(Option<TypeHandle>),
DeletingDestructor,
CompleteDestructor,
BaseDestructor,
MaybeInChargeDestructor,
}
Expand description
The <ctor-dtor-name>
production.
<ctor-dtor-name> ::= C1 # complete object constructor
::= C2 # base object constructor
::= C3 # complete object allocating constructor
::= D0 # deleting destructor
::= D1 # complete object destructor
::= D2 # base object destructor
GCC also emits a C4 constructor under some conditions when building an optimized binary. GCC’s source says:
/* This is the old-style "[unified]" constructor.
In some cases, we may emit this function and call
it from the clones in order to share code and save space. */
Based on the GCC source we’ll call this the “maybe in-charge constructor”. Similarly, there is a D4 destructor, the “maybe in-charge destructor”.
Variants
CompleteConstructor(Option<TypeHandle>)
“C1”, the “complete object constructor”
BaseConstructor(Option<TypeHandle>)
“C2”, the “base object constructor”
CompleteAllocatingConstructor(Option<TypeHandle>)
“C3”, the “complete object allocating constructor”
MaybeInChargeConstructor(Option<TypeHandle>)
“C4”, the “maybe in-charge constructor”
DeletingDestructor
“D0”, the “deleting destructor”
CompleteDestructor
“D1”, the “complete object destructor”
BaseDestructor
“D2”, the “base object destructor”
MaybeInChargeDestructor
“D4”, the “maybe in-charge destructor”
Trait Implementations
sourceimpl Clone for CtorDtorName
impl Clone for CtorDtorName
sourcefn clone(&self) -> CtorDtorName
fn clone(&self) -> CtorDtorName
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for CtorDtorName
impl Debug for CtorDtorName
sourceimpl PartialEq<CtorDtorName> for CtorDtorName
impl PartialEq<CtorDtorName> for CtorDtorName
sourcefn eq(&self, other: &CtorDtorName) -> bool
fn eq(&self, other: &CtorDtorName) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &CtorDtorName) -> bool
fn ne(&self, other: &CtorDtorName) -> bool
This method tests for !=
.
impl Eq for CtorDtorName
impl StructuralEq for CtorDtorName
impl StructuralPartialEq for CtorDtorName
Auto Trait Implementations
impl RefUnwindSafe for CtorDtorName
impl Send for CtorDtorName
impl Sync for CtorDtorName
impl Unpin for CtorDtorName
impl UnwindSafe for CtorDtorName
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)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more