Trait interoptopus_backend_csharp::CSharpTypeConverter[][src]

pub trait CSharpTypeConverter {
Show 15 methods fn primitive_to_typename(&self, x: &PrimitiveType) -> String { ... }
fn enum_to_typename(&self, x: &EnumType) -> String { ... }
fn opaque_to_typename(&self, _: &OpaqueType) -> String { ... }
fn has_overloadable(&self, signature: &FunctionSignature) -> bool { ... }
fn pattern_to_native_in_signature(
        &self,
        param: &Parameter,
        _signature: &FunctionSignature
    ) -> String { ... }
fn composite_to_typename(&self, x: &CompositeType) -> String { ... }
fn named_callback_to_typename(&self, x: &NamedCallback) -> String { ... }
fn fnpointer_to_typename(&self, x: &FnPointerType) -> String { ... }
fn to_typespecifier_in_field(
        &self,
        x: &CType,
        field: &Field,
        composite: &CompositeType
    ) -> String { ... }
fn to_typespecifier_in_param(&self, x: &CType) -> String { ... }
fn to_typespecifier_in_rval(&self, x: &CType) -> String { ... }
fn constant_value_to_value(&self, value: &ConstantValue) -> String { ... }
fn function_parameter_to_csharp_typename(
        &self,
        x: &Parameter,
        _function: &Function
    ) -> String { ... }
fn function_rval_to_csharp_typename(&self, function: &Function) -> String { ... }
fn function_name_to_csharp_name(&self, function: &Function) -> String { ... }
}
Expand description

Converts Interoptopus types to C# types.

Provided methods

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

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

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

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

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

Converts the u32 part in a Rust field x: u32 to a C# equivalent. Might convert pointers to IntPtr.

Converts the u32 part in a Rust paramter x: u32 to a C# equivalent. Might convert pointers to out X or ref X.

Implementors