#[unsafe(no_mangle)]pub const extern "C" fn nstd_shared_ptr_get(
shared_ptr: &NSTDSharedPtr<'_>,
) -> NSTDAnyAvailable on crate feature
shared_ptr only.Expand description
Returns an immutable raw pointer to the shared object.
§Parameters:
const NSTDSharedPtr *shared_ptr- The shared pointer.
§Returns
NSTDAny ptr - A raw pointer to the shared object.
§Example
use core::ptr::addr_of;
use nstd_sys::{
alloc::NSTD_ALLOCATOR,
core::alloc::nstd_core_alloc_layout_new,
shared_ptr::{nstd_shared_ptr_get, nstd_shared_ptr_new},
};
unsafe {
let v = u128::MAX;
let size = core::mem::size_of::<u128>();
let align = core::mem::align_of::<u128>();
let layout = nstd_core_alloc_layout_new(size, align).unwrap();
let shared_ptr = nstd_shared_ptr_new(&NSTD_ALLOCATOR, layout, addr_of!(v).cast()).unwrap();
assert!(*nstd_shared_ptr_get(&shared_ptr).cast::<u128>() == v);
}