pub struct Closure1<'a, A, R> { /* private fields */ }
Expand description
An immutable, typed closure with the given argument and result types.
Implementations§
source§impl<'a, A: CType, R: CType> Closure1<'a, A, R>
impl<'a, A: CType, R: CType> Closure1<'a, A, R>
sourcepub fn new<Callback>(callback: &'a Callback) -> Selfwhere
Callback: Fn(A) -> R + 'a,
pub fn new<Callback>(callback: &'a Callback) -> Selfwhere Callback: Fn(A) -> R + 'a,
Constructs a typed closure callable from C from a Rust closure.
source§impl<'a, A, R: CType> Closure1<'a, A, R>
impl<'a, A, R: CType> Closure1<'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: Callback1<U, A, R::RetType>,
userdata: &'a U
) -> Self
pub fn from_parts<U>( cif: Cif1<A, R>, callback: Callback1<U, A, R::RetType>, userdata: &'a 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> Closure1<'a, A, R>
impl<'a, A: Copy, R: CType> Closure1<'a, A, R>
sourcepub fn new_with_cif<Callback>(cif: Cif1<A, R>, callback: &'a Callback) -> Selfwhere
Callback: Fn(A) -> R + 'a,
pub fn new_with_cif<Callback>(cif: Cif1<A, R>, callback: &'a Callback) -> Selfwhere Callback: Fn(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.