Trait parity_util_mem::MallocSizeOf [−][src]
Trait for measuring the “deep” heap usage of a data structure. This is the most commonly-used of the traits.
Required methods
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
If T::size_of
is a constant, consider implementing constant_size
as well.
Provided methods
fn constant_size() -> Option<usize> where
Self: Sized,
[src]
Self: Sized,
Used to optimize MallocSizeOf
implementation for collections
like Vec
and HashMap
to avoid iterating over them unnecessarily.
The Self: Sized
bound is for object safety.
Implementations on Foreign Types
impl<T: MallocSizeOf> MallocSizeOf for Arc<T>
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl MallocSizeOf for String
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<'a, T: ?Sized> MallocSizeOf for &'a T
[src]
fn size_of(&self, _ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<T: MallocSizeOf + ?Sized> MallocSizeOf for Box<T>
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl MallocSizeOf for ()
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<TupleElement0: MallocSizeOf> MallocSizeOf for (TupleElement0,)
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<TupleElement0: MallocSizeOf, TupleElement1: MallocSizeOf> MallocSizeOf for (TupleElement0, TupleElement1)
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<TupleElement0: MallocSizeOf, TupleElement1: MallocSizeOf, TupleElement2: MallocSizeOf> MallocSizeOf for (TupleElement0, TupleElement1, TupleElement2)
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<TupleElement0: MallocSizeOf, TupleElement1: MallocSizeOf, TupleElement2: MallocSizeOf, TupleElement3: MallocSizeOf> MallocSizeOf for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<TupleElement0: MallocSizeOf, TupleElement1: MallocSizeOf, TupleElement2: MallocSizeOf, TupleElement3: MallocSizeOf, TupleElement4: MallocSizeOf> MallocSizeOf for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<TupleElement0: MallocSizeOf, TupleElement1: MallocSizeOf, TupleElement2: MallocSizeOf, TupleElement3: MallocSizeOf, TupleElement4: MallocSizeOf, TupleElement5: MallocSizeOf> MallocSizeOf for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<TupleElement0: MallocSizeOf, TupleElement1: MallocSizeOf, TupleElement2: MallocSizeOf, TupleElement3: MallocSizeOf, TupleElement4: MallocSizeOf, TupleElement5: MallocSizeOf, TupleElement6: MallocSizeOf> MallocSizeOf for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<TupleElement0: MallocSizeOf, TupleElement1: MallocSizeOf, TupleElement2: MallocSizeOf, TupleElement3: MallocSizeOf, TupleElement4: MallocSizeOf, TupleElement5: MallocSizeOf, TupleElement6: MallocSizeOf, TupleElement7: MallocSizeOf> MallocSizeOf for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<TupleElement0: MallocSizeOf, TupleElement1: MallocSizeOf, TupleElement2: MallocSizeOf, TupleElement3: MallocSizeOf, TupleElement4: MallocSizeOf, TupleElement5: MallocSizeOf, TupleElement6: MallocSizeOf, TupleElement7: MallocSizeOf, TupleElement8: MallocSizeOf> MallocSizeOf for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<TupleElement0: MallocSizeOf, TupleElement1: MallocSizeOf, TupleElement2: MallocSizeOf, TupleElement3: MallocSizeOf, TupleElement4: MallocSizeOf, TupleElement5: MallocSizeOf, TupleElement6: MallocSizeOf, TupleElement7: MallocSizeOf, TupleElement8: MallocSizeOf, TupleElement9: MallocSizeOf> MallocSizeOf for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<TupleElement0: MallocSizeOf, TupleElement1: MallocSizeOf, TupleElement2: MallocSizeOf, TupleElement3: MallocSizeOf, TupleElement4: MallocSizeOf, TupleElement5: MallocSizeOf, TupleElement6: MallocSizeOf, TupleElement7: MallocSizeOf, TupleElement8: MallocSizeOf, TupleElement9: MallocSizeOf, TupleElement10: MallocSizeOf> MallocSizeOf for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<TupleElement0: MallocSizeOf, TupleElement1: MallocSizeOf, TupleElement2: MallocSizeOf, TupleElement3: MallocSizeOf, TupleElement4: MallocSizeOf, TupleElement5: MallocSizeOf, TupleElement6: MallocSizeOf, TupleElement7: MallocSizeOf, TupleElement8: MallocSizeOf, TupleElement9: MallocSizeOf, TupleElement10: MallocSizeOf, TupleElement11: MallocSizeOf> MallocSizeOf for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<T: MallocSizeOf> MallocSizeOf for Option<T>
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<T: MallocSizeOf, E: MallocSizeOf> MallocSizeOf for Result<T, E>
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<T: MallocSizeOf + Copy> MallocSizeOf for Cell<T>
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<T: MallocSizeOf> MallocSizeOf for RefCell<T>
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<'a, B: ?Sized + ToOwned> MallocSizeOf for Cow<'a, B> where
B::Owned: MallocSizeOf,
[src]
B::Owned: MallocSizeOf,
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<T: MallocSizeOf> MallocSizeOf for [T]
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<T: MallocSizeOf> MallocSizeOf for Vec<T>
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<T: MallocSizeOf> MallocSizeOf for VecDeque<T>
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<T, S> MallocSizeOf for HashSet<T, S> where
T: Eq + Hash + MallocSizeOf,
S: BuildHasher,
[src]
T: Eq + Hash + MallocSizeOf,
S: BuildHasher,
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<I: MallocSizeOf> MallocSizeOf for Reverse<I>
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<K, V, S> MallocSizeOf for HashMap<K, V, S> where
K: MallocSizeOf,
V: MallocSizeOf,
[src]
K: MallocSizeOf,
V: MallocSizeOf,
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<K, V> MallocSizeOf for BTreeMap<K, V> where
K: MallocSizeOf,
V: MallocSizeOf,
[src]
K: MallocSizeOf,
V: MallocSizeOf,
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<T> MallocSizeOf for BTreeSet<T> where
T: MallocSizeOf,
[src]
T: MallocSizeOf,
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<T: MallocSizeOf> MallocSizeOf for Mutex<T>
[src]
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.
The same reasoning applies to RwLock.
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<T: MallocSizeOf> MallocSizeOf for Mutex<T>
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<T: MallocSizeOf> MallocSizeOf for RwLock<T>
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<T: MallocSizeOf> MallocSizeOf for RwLock<T>
[src]
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl MallocSizeOf for bool
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for char
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for str
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for u8
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for u16
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for u32
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for u64
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for u128
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for usize
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for i8
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for i16
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for i32
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for i64
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for i128
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for isize
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for f32
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for f64
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for AtomicBool
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for AtomicIsize
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for AtomicUsize
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for Range<u8>
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for Range<u16>
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for Range<u32>
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for Range<u64>
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for Range<usize>
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for Range<i8>
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for Range<i16>
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for Range<i32>
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for Range<i64>
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for Range<isize>
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for Range<f32>
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for Range<f64>
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<T> MallocSizeOf for PhantomData<T>
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<K, V, S> MallocSizeOf for HashMap<K, V, S> where
K: MallocSizeOf,
V: MallocSizeOf,
[src]
K: MallocSizeOf,
V: MallocSizeOf,
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl MallocSizeOf for [u8; 1]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 2]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 3]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 4]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 5]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 6]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 7]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 8]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 9]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 10]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 11]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 12]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 13]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 14]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 15]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 16]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 17]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 18]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 19]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 20]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 21]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 22]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 23]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 24]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 25]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 26]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 27]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 28]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 29]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 30]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 31]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl MallocSizeOf for [u8; 32]
[src]
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
[src]
fn constant_size() -> Option<usize>
[src]
impl<T> MallocSizeOf for SmallVec<[T; 32]> where
T: MallocSizeOf,
[src]
T: MallocSizeOf,
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<T> MallocSizeOf for SmallVec<[T; 36]> where
T: MallocSizeOf,
[src]
T: MallocSizeOf,