pub trait CSharpTypeConverter {
Show 16 methods
// Provided 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_ffi_error_rval(&self, signature: &FunctionSignature) -> bool { ... }
fn composite_to_typename(&self, x: &CompositeType) -> String { ... }
fn is_blittable(&self, x: &CType) -> bool { ... }
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,
flavor: FunctionNameFlavor<'_>
) -> String { ... }
fn field_name_to_csharp_name(
&self,
field: &Field,
rename_symbols: bool
) -> String { ... }
}
Expand description
Converts Interoptopus types to C# types.
Provided Methods§
sourcefn 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
.
sourcefn 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
.
sourcefn opaque_to_typename(&self, _: &OpaqueType) -> String
fn opaque_to_typename(&self, _: &OpaqueType) -> String
TODO Converts an opaque Rust struct Context
to a C# struct ``.
fn has_ffi_error_rval(&self, signature: &FunctionSignature) -> bool
sourcefn 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
.
sourcefn is_blittable(&self, x: &CType) -> bool
fn is_blittable(&self, x: &CType) -> bool
Checks if the type is on the C# side blittable, in particular, if it can be accessed via raw pointers and memcopied.
fn named_callback_to_typename(&self, x: &NamedCallback) -> String
sourcefn 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
.
sourcefn to_typespecifier_in_field(
&self,
x: &CType,
field: &Field,
composite: &CompositeType
) -> String
fn to_typespecifier_in_field( &self, x: &CType, field: &Field, composite: &CompositeType ) -> String
Converts the u32
part in a Rust field x: u32
to a C# equivalent. Might convert pointers to IntPtr
.
sourcefn to_typespecifier_in_param(&self, x: &CType) -> String
fn to_typespecifier_in_param(&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 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
sourcefn function_name_to_csharp_name(
&self,
function: &Function,
flavor: FunctionNameFlavor<'_>
) -> String
fn function_name_to_csharp_name( &self, function: &Function, flavor: FunctionNameFlavor<'_> ) -> String
Gets the function name in a specific flavor