pub unsafe fn mx_wrap(ptr: *mut mx_erased) -> SEXPExpand description
Wrap an erased object pointer in an R external pointer.
Creates an R EXTPTRSXP that wraps the given erased object. The external
pointer’s finalizer will call the object’s drop function when garbage
collected.
§Arguments
ptr- Pointer to erased object (must be heap-allocated)
§Returns
R external pointer (EXTPTRSXP) containing the erased object.
§Safety
ptrmust be a valid pointer tomx_erasedptrmust be heap-allocated (will be freed by finalizer)- Must be called on R’s main thread
mx_abi_register()must have been called (viaminiextendr_init!)
§Example
ⓘ
// In constructor
let obj = Box::into_raw(Box::new(MyErasedWrapper::new(data)));
let sexp = unsafe { mx_wrap(obj.cast::<mx_erased>()) };