pub enum Type {
Builtin(BuiltinType),
Named {
tag: NamedTypeTag,
path: IdentifierPath,
template_arguments: Vec<TemplateArgument>,
},
Pointer {
pointee: Box<Type>,
qualifiers: TypeQualifiers,
},
Reference {
target: Box<Type>,
kind: ReferenceKind,
},
Array {
element: Box<Type>,
count: Option<u64>,
},
Function {
return_type: Box<Type>,
parameters: Vec<Parameter>,
parameter_state: ParameterState,
variadic: bool,
calling_convention: CallingConvention,
qualifiers: FunctionQualifiers,
},
ObjectiveCObject {
name: Option<Identifier>,
protocols: Vec<Identifier>,
qualifiers: TypeQualifiers,
},
ObjectiveCBlock(Box<Type>),
}Expand description
A fully typed header type.
Variants§
Builtin(BuiltinType)
Built-in scalar type.
Named
Named type.
Fields
§
tag: NamedTypeTagTag namespace.
§
path: IdentifierPathQualified name.
§
template_arguments: Vec<TemplateArgument>Template arguments.
Pointer
Pointer type.
Reference
C++ reference type.
Array
Array type.
Function
Function type.
Fields
§
parameter_state: ParameterStateWhether the parameter list is known.
§
calling_convention: CallingConventionCalling convention.
§
qualifiers: FunctionQualifiersC++ function qualifiers.
ObjectiveCObject
Objective-C object pointer surface.
Fields
§
name: Option<Identifier>Optional class name; absent represents id.
§
protocols: Vec<Identifier>Protocol qualifications.
§
qualifiers: TypeQualifiersObject-pointer qualifiers.
ObjectiveCBlock(Box<Type>)
Objective-C block signature.
Trait Implementations§
impl Eq for Type
impl StructuralPartialEq for Type
Auto Trait Implementations§
impl Freeze for Type
impl RefUnwindSafe for Type
impl Send for Type
impl Sync for Type
impl Unpin for Type
impl UnsafeUnpin for Type
impl UnwindSafe for Type
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more