pub trait CTypeConverter {
    // Required methods
    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, the_enum: &EnumType, 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;

    // Provided method
    fn named_callback_to_typename(&self, x: &NamedCallback) -> String { ... }
}
Expand description

Converts Interoptopus types to C types.

Required Methods§

source

fn config(&self) -> &Config

source

fn primitive_to_typename(&self, x: &PrimitiveType) -> String

Converts a primitive (Rust) type to a native C# type name, e.g., f32 to float.

source

fn enum_to_typename(&self, x: &EnumType) -> String

Converts a Rust enum name such as Error to a C# enum name Error.

source

fn enum_variant_to_name(&self, the_enum: &EnumType, x: &Variant) -> String

source

fn opaque_to_typename(&self, opaque: &OpaqueType) -> String

TODO Converts an opaque Rust struct Context to a C# struct ``.

source

fn composite_to_typename(&self, x: &CompositeType) -> String

Converts an Rust struct name Vec2 to a C# struct name Vec2.

source

fn fnpointer_to_typename(&self, x: &FnPointerType) -> String

Converts an Rust fn() to a C# delegate name such as InteropDelegate.

source

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.

source

fn const_name_to_name(&self, x: &Constant) -> String

source

fn constant_value_to_value(&self, value: &ConstantValue) -> String

source

fn function_name_to_c_name(&self, function: &Function) -> String

Provided Methods§

Implementors§