Skip to main content

MallocSizeOf

Trait MallocSizeOf 

Source
pub trait MallocSizeOf {
    // Required method
    fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize;
}
Expand description

Trait for measuring the “deep” heap usage of a data structure. This is the most commonly-used of the traits.

Required Methods§

Source

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Measure the heap usage of all descendant heap-allocated structures, but not the space taken up by the value itself.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl MallocSizeOf for bool

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for char

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for f32

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for f64

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for i8

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for i16

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for i32

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for i64

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for i128

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for isize

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for str

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for u8

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for u16

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for u32

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for u64

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for u128

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for ()

Source§

fn size_of(&self, _ops: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for usize

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for String

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for Range<f32>

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for Range<f64>

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for Range<i8>

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for Range<i16>

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for Range<i32>

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for Range<i64>

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for Range<isize>

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for Range<u8>

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for Range<u16>

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for Range<u32>

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for Range<u64>

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for Range<usize>

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for AtomicBool

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for AtomicIsize

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl MallocSizeOf for AtomicUsize

Source§

fn size_of(&self, _: &mut MallocSizeOfOps) -> usize

Source§

impl<'a, B: ?Sized + ToOwned> MallocSizeOf for Cow<'a, B>
where B::Owned: MallocSizeOf,

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<'a, T: ?Sized> MallocSizeOf for &'a T

Source§

fn size_of(&self, _ops: &mut MallocSizeOfOps) -> usize

Source§

impl<K, V, S> MallocSizeOf for HashMap<K, V, S>

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T1, T2> MallocSizeOf for (T1, T2)
where T1: MallocSizeOf, T2: MallocSizeOf,

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T1, T2, T3> MallocSizeOf for (T1, T2, T3)

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T1, T2, T3, T4> MallocSizeOf for (T1, T2, T3, T4)

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T> MallocSizeOf for PhantomData<T>

Source§

fn size_of(&self, _ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T, S> MallocSizeOf for HashSet<T, S>
where T: Eq + Hash + MallocSizeOf, S: BuildHasher,

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T: MallocSizeOf + Copy> MallocSizeOf for Cell<T>

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T: MallocSizeOf + ?Sized> MallocSizeOf for Box<T>

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T: MallocSizeOf> MallocSizeOf for Option<T>

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T: MallocSizeOf> MallocSizeOf for [T]

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T: MallocSizeOf> MallocSizeOf for VecDeque<T>

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T: MallocSizeOf> MallocSizeOf for Vec<T>

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T: MallocSizeOf> MallocSizeOf for RefCell<T>

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T: MallocSizeOf> MallocSizeOf for Mutex<T>

If a mutex is stored directly as a member of a data type that is being measured, it is the unique owner of its contents and deserves to be measured.

If a mutex is stored inside of an Arc value as a member of a data type that is being measured, the Arc will not be automatically measured so there is no risk of overcounting the mutex’s contents.

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Source§

impl<T: MallocSizeOf, E: MallocSizeOf> MallocSizeOf for Result<T, E>

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Implementors§