Trait MemoryUsage

Source
pub trait MemoryUsage {
    // Provided method
    fn heap_usage(&self) -> usize { ... }
}
Expand description

For inspecting how much memory a value is using.

This trait specifically measures heap memory. If you want to measure stack memory too, add mem::size_of_val() to it. (This only really matters for the outermost type in a hierarchy.)

Provided Methods§

Source

fn heap_usage(&self) -> usize

The heap memory usage of this type. The default implementation returns 0.

Implementations on Foreign Types§

Source§

impl MemoryUsage for AlgebraicType

Source§

impl MemoryUsage for AlgebraicValue

Source§

impl MemoryUsage for ArrayValue

Source§

impl MemoryUsage for bool

Source§

impl MemoryUsage for f32

Source§

impl MemoryUsage for f64

Source§

impl MemoryUsage for i8

Source§

impl MemoryUsage for i16

Source§

impl MemoryUsage for i32

Source§

impl MemoryUsage for i64

Source§

impl MemoryUsage for i128

Source§

impl MemoryUsage for isize

Source§

impl MemoryUsage for str

Source§

impl MemoryUsage for u8

Source§

impl MemoryUsage for u16

Source§

impl MemoryUsage for u32

Source§

impl MemoryUsage for u64

Source§

impl MemoryUsage for u128

Source§

impl MemoryUsage for usize

Source§

impl MemoryUsage for String

Source§

impl MemoryUsage for ConnectionId

Source§

impl MemoryUsage for Identity

Source§

impl MemoryUsage for ColId

Source§

impl MemoryUsage for ConstraintId

Source§

impl MemoryUsage for IndexId

Source§

impl MemoryUsage for SequenceId

Source§

impl MemoryUsage for TableId

Source§

impl MemoryUsage for ArrayType

Source§

impl MemoryUsage for ProductType

Source§

impl MemoryUsage for ProductTypeElement

Source§

impl MemoryUsage for ProductValue

Source§

impl MemoryUsage for SumType

Source§

impl MemoryUsage for SumTypeVariant

Source§

impl MemoryUsage for SumValue

Source§

impl MemoryUsage for i256

Source§

impl MemoryUsage for u256

Source§

impl MemoryUsage for F32

Source§

impl MemoryUsage for F64

Source§

impl MemoryUsage for ColList

Source§

impl<A: Array> MemoryUsage for SmallVec<A>
where A::Item: MemoryUsage,

Source§

impl<A: MemoryUsage, B: MemoryUsage> MemoryUsage for (A, B)

Source§

impl<K: MemoryUsage + Eq + Hash, V: MemoryUsage, S: BuildHasher> MemoryUsage for HashMap<K, V, S>

Source§

impl<K: MemoryUsage, V: MemoryUsage> MemoryUsage for BTreeMap<K, V>

Source§

impl<T: MemoryUsage + Copy> MemoryUsage for Packed<T>

Source§

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

Source§

impl<T: MemoryUsage + ?Sized> MemoryUsage for Rc<T>

Source§

impl<T: MemoryUsage + ?Sized> MemoryUsage for Arc<T>

Source§

impl<T: MemoryUsage> MemoryUsage for Option<T>

Source§

impl<T: MemoryUsage> MemoryUsage for [T]

Source§

impl<T: MemoryUsage> MemoryUsage for Vec<T>

Implementors§