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§
source§impl Clone for CtorDtorName
impl Clone for CtorDtorName
source§fn clone(&self) -> CtorDtorName
fn clone(&self) -> CtorDtorName
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more