Enum cpp_demangle::ast::SpecialName [] [src]

pub enum SpecialName {
    VirtualTable(TypeHandle),
    Vtt(TypeHandle),
    Typeinfo(TypeHandle),
    TypeinfoName(TypeHandle),
    VirtualOverrideThunk(CallOffsetBox<Encoding>),
    VirtualOverrideThunkCovariant(CallOffsetCallOffsetBox<Encoding>),
    Guard(Name),
    GuardTemporary(Nameusize),
}

The <special-name> production.

The <special-name> production is spread in pieces through out the ABI spec.

5.1.4.1 Virtual Tables and RTTI

<special-name> ::= TV <type>    # virtual table
               ::= TT <type>    # VTT structure (construction vtable index)
               ::= TI <type>    # typeinfo structure
               ::= TS <type>    # typeinfo name (null-terminated byte string)

5.1.4.2 Virtual Override Thunks

<special-name> ::= T <call-offset> <base encoding>
    # base is the nominal target function of thunk

<special-name> ::= Tc <call-offset> <call-offset> <base encoding>
    # base is the nominal target function of thunk
    # first call-offset is 'this' adjustment
    # second call-offset is result adjustment

5.1.4.4 Guard Variables

<special-name> ::= GV <object name> # Guard variable for one-time initialization
    # No <type>

5.1.4.5 Lifetime-Extended Temporaries

<special-name> ::= GR <object name> _             # First temporary
<special-name> ::= GR <object name> <seq-id> _    # Subsequent temporaries

Variants

A virtual table.

A VTT structure (construction vtable index).

A typeinfo structure.

A typeinfo name (null-terminated byte string).

A virtual override thunk.

A virtual override thunk with a covariant return type.

An initialization guard for some static storage.

A temporary used in the initialization of a static storage and promoted to a static lifetime.

Trait Implementations

impl Clone for SpecialName
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for SpecialName
[src]

Formats the value using the given formatter.

impl PartialEq for SpecialName
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for SpecialName
[src]