Struct libffi::high::arity1::ClosureMut1
source · pub struct ClosureMut1<'a, A, R> { /* private fields */ }
Expand description
A mutable, typed closure with the given argument and result types.
Implementations§
source§impl<'a, A: CType, R: CType> ClosureMut1<'a, A, R>
impl<'a, A: CType, R: CType> ClosureMut1<'a, A, R>
sourcepub fn new<Callback>(callback: &'a mut Callback) -> Selfwhere
Callback: FnMut(A) -> R + 'a,
pub fn new<Callback>(callback: &'a mut Callback) -> Selfwhere Callback: FnMut(A) -> R + 'a,
Constructs a typed closure callable from C from a Rust closure.
source§impl<'a, A, R: CType> ClosureMut1<'a, A, R>
impl<'a, A, R: CType> ClosureMut1<'a, A, R>
sourcepub fn code_ptr(&self) -> &FnPtr1<'a, A, R>
pub fn code_ptr(&self) -> &FnPtr1<'a, A, R>
Gets the C code pointer that is used to invoke the closure.
sourcepub fn from_parts<U>(
cif: Cif1<A, R>,
callback: CallbackMut1<U, A, R::RetType>,
userdata: &'a mut U
) -> Self
pub fn from_parts<U>( cif: Cif1<A, R>, callback: CallbackMut1<U, A, R::RetType>, userdata: &'a mut U ) -> Self
Constructs a typed 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.
source§impl<'a, A: Copy, R: CType> ClosureMut1<'a, A, R>
impl<'a, A: Copy, R: CType> ClosureMut1<'a, A, R>
sourcepub fn new_with_cif<Callback>(
cif: Cif1<A, R>,
callback: &'a mut Callback
) -> Selfwhere
Callback: FnMut(A) -> R + 'a,
pub fn new_with_cif<Callback>( cif: Cif1<A, R>, callback: &'a mut Callback ) -> Selfwhere Callback: FnMut(A) -> R + 'a,
Constructs a typed closure callable from C from a CIF describing the calling convention for the resulting function and the Rust closure to call.