pub struct ClosureOnce7<A, B, C, D, E, F, G, R> { /* private fields */ }
Expand description

A one-shot, typed closure with the given argument and result types.

Implementations§

source§

impl<A: CType, B: CType, C: CType, D: CType, E: CType, F: CType, G: CType, R: CType> ClosureOnce7<A, B, C, D, E, F, G, R>

source

pub fn new<Callback>(callback: Callback) -> Selfwhere Callback: FnOnce(A, B, C, D, E, F, G) -> R + Any,

Constructs a typed closure callable from C from a Rust closure.

source§

impl<A: Copy, B: Copy, C: Copy, D: Copy, E: Copy, F: Copy, G: Copy, R: CType> ClosureOnce7<A, B, C, D, E, F, G, R>

source

pub fn new_with_cif<Callback>( cif: Cif7<A, B, C, D, E, F, G, R>, callback: Callback ) -> Selfwhere Callback: FnOnce(A, B, C, D, E, F, G) -> R + Any,

Constructs a one-shot closure callable from C from a CIF describing the calling convention for the resulting function and the Rust closure to call.

source§

impl<A, B, C, D, E, F, G, R: CType> ClosureOnce7<A, B, C, D, E, F, G, R>

source

pub fn code_ptr(&self) -> &FnPtr7<'_, A, B, C, D, E, F, G, R>

Gets the C code pointer that is used to invoke the closure.

source

pub fn from_parts<U: Any>( cif: Cif7<A, B, C, D, E, F, G, R>, callback: CallbackOnce7<U, A, B, C, D, E, F, G, R::RetType>, userdata: U ) -> Self

Constructs a one-shot closure callable from C from a CIF describing the calling convention for the resulting function, a callback for the function to call, and userdata to pass to the callback. Note that the return type of the callback must follow the libffi implicit extension rules.

Auto Trait Implementations§

§

impl<A, B, C, D, E, F, G, R> !RefUnwindSafe for ClosureOnce7<A, B, C, D, E, F, G, R>

§

impl<A, B, C, D, E, F, G, R> !Send for ClosureOnce7<A, B, C, D, E, F, G, R>

§

impl<A, B, C, D, E, F, G, R> !Sync for ClosureOnce7<A, B, C, D, E, F, G, R>

§

impl<A, B, C, D, E, F, G, R> Unpin for ClosureOnce7<A, B, C, D, E, F, G, R>

§

impl<A, B, C, D, E, F, G, R> !UnwindSafe for ClosureOnce7<A, B, C, D, E, F, G, R>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.