Trait interoptopus_backend_c::CTypeConverter [−][src]
pub trait CTypeConverter { fn config(&self) -> &Config; fn primitive_to_typename(&self, x: &PrimitiveType) -> String; fn enum_to_typename(&self, x: &EnumType) -> String; fn enum_variant_to_name(&self, x: &Variant) -> String; fn opaque_to_typename(&self, opaque: &OpaqueType) -> String; fn composite_to_typename(&self, x: &CompositeType) -> String; fn fnpointer_to_typename(&self, x: &FnPointerType) -> String; fn to_type_specifier(&self, x: &CType) -> String; fn const_name_to_name(&self, x: &Constant) -> String; fn constant_value_to_value(&self, value: &ConstantValue) -> String; fn function_name_to_c_name(&self, function: &Function) -> String; }
Expand description
Converts Interoptopus types to C types.
Required methods
fn primitive_to_typename(&self, x: &PrimitiveType) -> String
fn primitive_to_typename(&self, x: &PrimitiveType) -> String
Converts a primitive (Rust) type to a native C# type name, e.g., f32
to float
.
fn enum_to_typename(&self, x: &EnumType) -> String
fn enum_to_typename(&self, x: &EnumType) -> String
Converts a Rust enum name such as Error
to a C# enum name Error
.
fn enum_variant_to_name(&self, x: &Variant) -> String
fn opaque_to_typename(&self, opaque: &OpaqueType) -> String
fn opaque_to_typename(&self, opaque: &OpaqueType) -> String
TODO Converts an opaque Rust struct Context
to a C# struct ``.
fn composite_to_typename(&self, x: &CompositeType) -> String
fn composite_to_typename(&self, x: &CompositeType) -> String
Converts an Rust struct name Vec2
to a C# struct name Vec2
.
fn fnpointer_to_typename(&self, x: &FnPointerType) -> String
fn fnpointer_to_typename(&self, x: &FnPointerType) -> String
Converts an Rust fn()
to a C# delegate name such as InteropDelegate
.
fn to_type_specifier(&self, x: &CType) -> String
fn to_type_specifier(&self, x: &CType) -> String
Converts the u32
part in a Rust paramter x: u32
to a C# equivalent. Might convert pointers to out X
or ref X
.
fn const_name_to_name(&self, x: &Constant) -> String
fn constant_value_to_value(&self, value: &ConstantValue) -> String
fn function_name_to_c_name(&self, function: &Function) -> String