pub trait InteropSend {
    type TargetType: Copy;

    // Required method
    fn get_mono_rep(rust_arg: Self) -> Self::TargetType;
}
Expand description

Trait specifying how to convert a type when transferring it between managed and unmanaged code. It specifies how to convert type implementing this trait to TargetType used by MonoRuntime.

Required Associated Types§

source

type TargetType: Copy

Type used by MonoRuntime, that type implementing InteropSend trait should be converted to when returning it to MonoRuntime.

Required Methods§

source

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

Function converting type implementing InteropRecive trait to type that should be returned to MonoRuntime.

Implementations on Foreign Types§

source§

impl InteropSend for i64

§

type TargetType = i64

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend, D: InteropSend> InteropSend for (A, B, C, D)

source§

impl<T: ObjectTrait> InteropSend for Option<T>

§

type TargetType = *mut _MonoObject

source§

fn get_mono_rep(src: Self) -> Self::TargetType

source§

impl InteropSend for u32

§

type TargetType = u32

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend, D: InteropSend, E: InteropSend, F: InteropSend, G: InteropSend, H: InteropSend, I: InteropSend, J: InteropSend, K: InteropSend, L: InteropSend, M: InteropSend> InteropSend for (A, B, C, D, E, F, G, H, I, J, K, L, M)

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend, D: InteropSend, E: InteropSend, F: InteropSend> InteropSend for (A, B, C, D, E, F)

source§

impl InteropSend for isize

§

type TargetType = isize

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl InteropSend for i32

§

type TargetType = i32

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend, D: InteropSend, E: InteropSend, F: InteropSend, G: InteropSend, H: InteropSend, I: InteropSend, J: InteropSend, K: InteropSend, L: InteropSend, M: InteropSend, N: InteropSend, O: InteropSend, P: InteropSend> InteropSend for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)

source§

impl InteropSend for u64

§

type TargetType = u64

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend, D: InteropSend, E: InteropSend, F: InteropSend, G: InteropSend, H: InteropSend, I: InteropSend> InteropSend for (A, B, C, D, E, F, G, H, I)

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend, D: InteropSend, E: InteropSend, F: InteropSend, G: InteropSend, H: InteropSend, I: InteropSend, J: InteropSend, K: InteropSend, L: InteropSend, M: InteropSend, N: InteropSend> InteropSend for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)

source§

impl InteropSend for bool

§

type TargetType = bool

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend, D: InteropSend, E: InteropSend, F: InteropSend, G: InteropSend, H: InteropSend, I: InteropSend, J: InteropSend> InteropSend for (A, B, C, D, E, F, G, H, I, J)

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend, D: InteropSend, E: InteropSend, F: InteropSend, G: InteropSend, H: InteropSend> InteropSend for (A, B, C, D, E, F, G, H)

source§

impl InteropSend for u8

§

type TargetType = u8

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend> InteropSend for (A, B, C)

§

type TargetType = (<A as InteropSend>::TargetType, <B as InteropSend>::TargetType, <C as InteropSend>::TargetType)

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend, D: InteropSend, E: InteropSend, F: InteropSend, G: InteropSend, H: InteropSend, I: InteropSend, J: InteropSend, K: InteropSend, L: InteropSend, M: InteropSend, N: InteropSend, O: InteropSend> InteropSend for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)

source§

impl InteropSend for char

§

type TargetType = u16

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl InteropSend for i8

§

type TargetType = i8

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl InteropSend for f64

§

type TargetType = f64

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl InteropSend for usize

§

type TargetType = usize

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend, D: InteropSend, E: InteropSend, F: InteropSend, G: InteropSend, H: InteropSend, I: InteropSend, J: InteropSend, K: InteropSend> InteropSend for (A, B, C, D, E, F, G, H, I, J, K)

source§

impl<T> InteropSend for *mut T

§

type TargetType = *mut T

source§

fn get_mono_rep(mono_arg: Self::TargetType) -> Self

source§

impl InteropSend for u16

§

type TargetType = u16

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl<T> InteropSend for *const T

§

type TargetType = *const T

source§

fn get_mono_rep(mono_arg: Self::TargetType) -> Self

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend, D: InteropSend, E: InteropSend, F: InteropSend, G: InteropSend> InteropSend for (A, B, C, D, E, F, G)

source§

impl<A: InteropSend> InteropSend for (A,)

§

type TargetType = (<A as InteropSend>::TargetType,)

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl InteropSend for ()

§

type TargetType = ()

source§

fn get_mono_rep(_: Self) -> Self::TargetType

source§

impl<A: InteropSend, B: InteropSend> InteropSend for (A, B)

§

type TargetType = (<A as InteropSend>::TargetType, <B as InteropSend>::TargetType)

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend, D: InteropSend, E: InteropSend> InteropSend for (A, B, C, D, E)

source§

impl InteropSend for String

§

type TargetType = *mut _MonoString

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl InteropSend for f32

§

type TargetType = f32

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

source§

impl<A: InteropSend, B: InteropSend, C: InteropSend, D: InteropSend, E: InteropSend, F: InteropSend, G: InteropSend, H: InteropSend, I: InteropSend, J: InteropSend, K: InteropSend, L: InteropSend> InteropSend for (A, B, C, D, E, F, G, H, I, J, K, L)

source§

impl InteropSend for i16

§

type TargetType = i16

source§

fn get_mono_rep(rust_arg: Self) -> Self::TargetType

Implementors§

source§

impl<T: ObjectTrait> InteropSend for T

§

type TargetType = *mut _MonoObject