[][src]Struct parity_util_mem::MallocSizeOfOps

pub struct MallocSizeOfOps { /* fields omitted */ }

Operations used when measuring heap usage of data structures.

Implementations

impl MallocSizeOfOps[src]

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>,
    have_seen_ptr: Option<Box<dyn FnMut(*const c_void) -> bool>>
) -> Self
[src]

pub unsafe fn malloc_size_of<T: ?Sized>(&self, ptr: *const T) -> usize[src]

Call size_of_op on ptr, first checking that the allocation isn't empty, because some types (such as Vec) utilize empty allocations.

pub fn has_malloc_enclosing_size_of(&self) -> bool[src]

Is an enclosing_size_of_op available?

pub unsafe fn malloc_enclosing_size_of<T>(&self, ptr: *const T) -> usize[src]

Call enclosing_size_of_op, which must be available, on ptr, which must not be empty.

pub fn have_seen_ptr<T>(&mut self, ptr: *const T) -> bool[src]

Call have_seen_ptr_op on ptr.

Auto Trait Implementations

impl !RefUnwindSafe for MallocSizeOfOps

impl !Send for MallocSizeOfOps

impl !Sync for MallocSizeOfOps

impl Unpin for MallocSizeOfOps

impl !UnwindSafe for MallocSizeOfOps

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]