Struct libffi::high::arity3::ClosureOnce3
source · pub struct ClosureOnce3<A, B, C, R> { /* private fields */ }
Expand description
A one-shot, typed closure with the given argument and result types.
Implementations§
source§impl<A: Copy, B: Copy, C: Copy, R: CType> ClosureOnce3<A, B, C, R>
impl<A: Copy, B: Copy, C: Copy, R: CType> ClosureOnce3<A, B, C, R>
sourcepub fn new_with_cif<Callback>(cif: Cif3<A, B, C, R>, callback: Callback) -> Selfwhere
Callback: FnOnce(A, B, C) -> R + Any,
pub fn new_with_cif<Callback>(cif: Cif3<A, B, C, R>, callback: Callback) -> Selfwhere Callback: FnOnce(A, B, C) -> 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, R: CType> ClosureOnce3<A, B, C, R>
impl<A, B, C, R: CType> ClosureOnce3<A, B, C, R>
sourcepub fn code_ptr(&self) -> &FnPtr3<'_, A, B, C, R>
pub fn code_ptr(&self) -> &FnPtr3<'_, A, B, C, R>
Gets the C code pointer that is used to invoke the closure.
sourcepub fn from_parts<U: Any>(
cif: Cif3<A, B, C, R>,
callback: CallbackOnce3<U, A, B, C, R::RetType>,
userdata: U
) -> Self
pub fn from_parts<U: Any>( cif: Cif3<A, B, C, R>, callback: CallbackOnce3<U, A, B, C, 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.