Trait CloneToForeign

Source
pub trait CloneToForeign: FreeForeign {
    // Required method
    fn clone_to_foreign(&self) -> OwnedPointer<Self>;

    // Provided method
    fn clone_to_foreign_ptr(&self) -> *mut Self::Foreign { ... }
}
Expand description

A type for which a representation as a C datum can be produced.

Required Methods§

Source

fn clone_to_foreign(&self) -> OwnedPointer<Self>

Convert a native Rust object to a foreign C struct, copying everything pointed to by self (same as to_glib_full in glib-rs)

Provided Methods§

Source

fn clone_to_foreign_ptr(&self) -> *mut Self::Foreign

Convert a native Rust object to a foreign C pointer, copying everything pointed to by self. The returned pointer must be freed with the free_foreign associated function.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl CloneToForeign for bool

Source§

impl CloneToForeign for f32

Source§

impl CloneToForeign for f64

Source§

impl CloneToForeign for i8

Source§

impl CloneToForeign for i16

Source§

impl CloneToForeign for i32

Source§

impl CloneToForeign for i64

Source§

impl CloneToForeign for isize

Source§

impl CloneToForeign for str

Source§

impl CloneToForeign for u8

Source§

impl CloneToForeign for u16

Source§

impl CloneToForeign for u32

Source§

impl CloneToForeign for u64

Source§

impl CloneToForeign for usize

Source§

impl CloneToForeign for CString

Source§

impl CloneToForeign for String

Source§

impl CloneToForeign for CStr

Source§

impl<'a, B> CloneToForeign for Cow<'a, B>
where B: 'a + ToOwned + ?Sized + CloneToForeign,

Source§

impl<T> CloneToForeign for Option<T>
where T: CloneToForeign,

Source§

impl<T> CloneToForeign for [T]
where T: FixedAlloc,

Source§

impl<T> CloneToForeign for Box<T>
where T: CloneToForeign,

Source§

impl<T> CloneToForeign for Vec<T>

Implementors§