Struct azul_wr_malloc_size_of::MallocSizeOfOps [−][src]
pub struct MallocSizeOfOps { pub size_of_op: unsafe extern "C" fn(ptr: *const c_void) -> usize, pub enclosing_size_of_op: Option<unsafe extern "C" fn(ptr: *const c_void) -> usize>, }
Expand description
Operations used when measuring heap usage of data structures.
Fields
size_of_op: unsafe extern "C" fn(ptr: *const c_void) -> usize
A function that returns the size of a heap allocation.
enclosing_size_of_op: Option<unsafe extern "C" fn(ptr: *const c_void) -> usize>
Like size_of_op
, but can take an interior pointer. Optional because
not all allocators support this operation. If it’s not provided, some
memory measurements will actually be computed estimates rather than
real and accurate measurements.
Implementations
pub fn new(
size_of: unsafe extern "C" fn(ptr: *const c_void) -> usize,
malloc_enclosing_size_of: Option<unsafe extern "C" fn(ptr: *const c_void) -> usize>
) -> Self
Call size_of_op
on ptr
, first checking that the allocation isn’t
empty, because some types (such as Vec
) utilize empty allocations.
Is an enclosing_size_of_op
available?
Call enclosing_size_of_op
, which must be available, on ptr
, which
must not be empty.
Auto Trait Implementations
impl RefUnwindSafe for MallocSizeOfOps
impl Send for MallocSizeOfOps
impl Sync for MallocSizeOfOps
impl Unpin for MallocSizeOfOps
impl UnwindSafe for MallocSizeOfOps