[][src]Trait datasize::DataSize

pub trait DataSize {
    const IS_DYNAMIC: bool;
    const STATIC_HEAP_SIZE: usize;

    fn estimate_heap_size(&self) -> usize;
}

Indicates that a type knows how to approximate its memory usage.

Associated Constants

const IS_DYNAMIC: bool

If true, the type has a heap size that can vary at runtime, depending on the actual value.

const STATIC_HEAP_SIZE: usize

The amount of space a value of the type always occupies. If IS_DYNAMIC is false, this is the total amount of heap memory occupied by the value. Otherwise this is a lower bound.

Loading content...

Required methods

fn estimate_heap_size(&self) -> usize

Estimates the size of heap memory taken up by this value.

Does not include data on the stack, which is usually determined using mem::size_of.

Loading content...

Implementations on Foreign Types

impl DataSize for Ipv4Addr[src]

impl DataSize for Ipv6Addr[src]

impl DataSize for SocketAddrV4[src]

impl DataSize for SocketAddrV6[src]

impl DataSize for IpAddr[src]

impl DataSize for SocketAddr[src]

impl DataSize for Instant[src]

impl DataSize for SystemTime[src]

impl<T> DataSize for Box<T> where
    T: DataSize
[src]

impl<T> DataSize for Arc<T>[src]

impl<T> DataSize for Rc<T>[src]

impl<T> DataSize for Vec<T> where
    T: DataSize
[src]

impl<T> DataSize for VecDeque<T> where
    T: DataSize
[src]

impl DataSize for String[src]

impl DataSize for PathBuf[src]

impl DataSize for OsString[src]

impl<K, V> DataSize for BTreeMap<K, V> where
    K: DataSize,
    V: DataSize
[src]

impl<K, V, S> DataSize for HashMap<K, V, S> where
    K: DataSize,
    V: DataSize
[src]

impl<T, S> DataSize for HashSet<T, S> where
    T: DataSize
[src]

impl DataSize for ()[src]

impl DataSize for u8[src]

impl DataSize for u16[src]

impl DataSize for u32[src]

impl DataSize for u64[src]

impl DataSize for u128[src]

impl DataSize for usize[src]

impl DataSize for i8[src]

impl DataSize for i16[src]

impl DataSize for i32[src]

impl DataSize for i64[src]

impl DataSize for i128[src]

impl DataSize for isize[src]

impl DataSize for bool[src]

impl DataSize for char[src]

impl DataSize for Duration[src]

impl<T0, T1> DataSize for (T0, T1) where
    T0: DataSize,
    T1: DataSize
[src]

impl<T0, T1, T2> DataSize for (T0, T1, T2) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize
[src]

impl<T0, T1, T2, T3> DataSize for (T0, T1, T2, T3) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize,
    T3: DataSize
[src]

impl<T0, T1, T2, T3, T4> DataSize for (T0, T1, T2, T3, T4) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize,
    T3: DataSize,
    T4: DataSize
[src]

impl<T0, T1, T2, T3, T4, T5> DataSize for (T0, T1, T2, T3, T4, T5) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize,
    T3: DataSize,
    T4: DataSize,
    T5: DataSize
[src]

impl<T0, T1, T2, T3, T4, T5, T6> DataSize for (T0, T1, T2, T3, T4, T5, T6) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize,
    T3: DataSize,
    T4: DataSize,
    T5: DataSize,
    T6: DataSize
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7> DataSize for (T0, T1, T2, T3, T4, T5, T6, T7) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize,
    T3: DataSize,
    T4: DataSize,
    T5: DataSize,
    T6: DataSize,
    T7: DataSize
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> DataSize for (T0, T1, T2, T3, T4, T5, T6, T7, T8) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize,
    T3: DataSize,
    T4: DataSize,
    T5: DataSize,
    T6: DataSize,
    T7: DataSize,
    T8: DataSize
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> DataSize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize,
    T3: DataSize,
    T4: DataSize,
    T5: DataSize,
    T6: DataSize,
    T7: DataSize,
    T8: DataSize,
    T9: DataSize
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> DataSize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize,
    T3: DataSize,
    T4: DataSize,
    T5: DataSize,
    T6: DataSize,
    T7: DataSize,
    T8: DataSize,
    T9: DataSize,
    T10: DataSize
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> DataSize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize,
    T3: DataSize,
    T4: DataSize,
    T5: DataSize,
    T6: DataSize,
    T7: DataSize,
    T8: DataSize,
    T9: DataSize,
    T10: DataSize,
    T11: DataSize
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> DataSize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize,
    T3: DataSize,
    T4: DataSize,
    T5: DataSize,
    T6: DataSize,
    T7: DataSize,
    T8: DataSize,
    T9: DataSize,
    T10: DataSize,
    T11: DataSize,
    T12: DataSize
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> DataSize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize,
    T3: DataSize,
    T4: DataSize,
    T5: DataSize,
    T6: DataSize,
    T7: DataSize,
    T8: DataSize,
    T9: DataSize,
    T10: DataSize,
    T11: DataSize,
    T12: DataSize,
    T13: DataSize
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> DataSize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize,
    T3: DataSize,
    T4: DataSize,
    T5: DataSize,
    T6: DataSize,
    T7: DataSize,
    T8: DataSize,
    T9: DataSize,
    T10: DataSize,
    T11: DataSize,
    T12: DataSize,
    T13: DataSize,
    T14: DataSize
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> DataSize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) where
    T0: DataSize,
    T1: DataSize,
    T2: DataSize,
    T3: DataSize,
    T4: DataSize,
    T5: DataSize,
    T6: DataSize,
    T7: DataSize,
    T8: DataSize,
    T9: DataSize,
    T10: DataSize,
    T11: DataSize,
    T12: DataSize,
    T13: DataSize,
    T14: DataSize,
    T15: DataSize
[src]

impl<T0> DataSize for (T0,) where
    T0: DataSize
[src]

impl<T> DataSize for [T; 0] where
    T: DataSize
[src]

impl<T> DataSize for [T; 1] where
    T: DataSize
[src]

impl<T> DataSize for [T; 2] where
    T: DataSize
[src]

impl<T> DataSize for [T; 3] where
    T: DataSize
[src]

impl<T> DataSize for [T; 4] where
    T: DataSize
[src]

impl<T> DataSize for [T; 5] where
    T: DataSize
[src]

impl<T> DataSize for [T; 6] where
    T: DataSize
[src]

impl<T> DataSize for [T; 7] where
    T: DataSize
[src]

impl<T> DataSize for [T; 8] where
    T: DataSize
[src]

impl<T> DataSize for [T; 9] where
    T: DataSize
[src]

impl<T> DataSize for [T; 10] where
    T: DataSize
[src]

impl<T> DataSize for [T; 11] where
    T: DataSize
[src]

impl<T> DataSize for [T; 12] where
    T: DataSize
[src]

impl<T> DataSize for [T; 13] where
    T: DataSize
[src]

impl<T> DataSize for [T; 14] where
    T: DataSize
[src]

impl<T> DataSize for [T; 15] where
    T: DataSize
[src]

impl<T> DataSize for [T; 16] where
    T: DataSize
[src]

impl<T> DataSize for [T; 17] where
    T: DataSize
[src]

impl<T> DataSize for [T; 18] where
    T: DataSize
[src]

impl<T> DataSize for [T; 19] where
    T: DataSize
[src]

impl<T> DataSize for [T; 20] where
    T: DataSize
[src]

impl<T> DataSize for [T; 21] where
    T: DataSize
[src]

impl<T> DataSize for [T; 22] where
    T: DataSize
[src]

impl<T> DataSize for [T; 23] where
    T: DataSize
[src]

impl<T> DataSize for [T; 24] where
    T: DataSize
[src]

impl<T> DataSize for [T; 25] where
    T: DataSize
[src]

impl<T> DataSize for [T; 26] where
    T: DataSize
[src]

impl<T> DataSize for [T; 27] where
    T: DataSize
[src]

impl<T> DataSize for [T; 28] where
    T: DataSize
[src]

impl<T> DataSize for [T; 29] where
    T: DataSize
[src]

impl<T> DataSize for [T; 30] where
    T: DataSize
[src]

impl<T> DataSize for [T; 31] where
    T: DataSize
[src]

impl<T> DataSize for [T; 32] where
    T: DataSize
[src]

impl<T> DataSize for [T; 33] where
    T: DataSize
[src]

impl<T> DataSize for [T; 34] where
    T: DataSize
[src]

impl<T> DataSize for [T; 35] where
    T: DataSize
[src]

impl<T> DataSize for [T; 36] where
    T: DataSize
[src]

impl<T> DataSize for [T; 37] where
    T: DataSize
[src]

impl<T> DataSize for [T; 38] where
    T: DataSize
[src]

impl<T> DataSize for [T; 39] where
    T: DataSize
[src]

impl<T> DataSize for [T; 40] where
    T: DataSize
[src]

impl<T> DataSize for [T; 41] where
    T: DataSize
[src]

impl<T> DataSize for [T; 42] where
    T: DataSize
[src]

impl<T> DataSize for [T; 43] where
    T: DataSize
[src]

impl<T> DataSize for [T; 44] where
    T: DataSize
[src]

impl<T> DataSize for [T; 45] where
    T: DataSize
[src]

impl<T> DataSize for [T; 46] where
    T: DataSize
[src]

impl<T> DataSize for [T; 47] where
    T: DataSize
[src]

impl<T> DataSize for [T; 48] where
    T: DataSize
[src]

impl<T> DataSize for [T; 49] where
    T: DataSize
[src]

impl<T> DataSize for [T; 50] where
    T: DataSize
[src]

impl<T> DataSize for [T; 51] where
    T: DataSize
[src]

impl<T> DataSize for [T; 52] where
    T: DataSize
[src]

impl<T> DataSize for [T; 53] where
    T: DataSize
[src]

impl<T> DataSize for [T; 54] where
    T: DataSize
[src]

impl<T> DataSize for [T; 55] where
    T: DataSize
[src]

impl<T> DataSize for [T; 56] where
    T: DataSize
[src]

impl<T> DataSize for [T; 57] where
    T: DataSize
[src]

impl<T> DataSize for [T; 58] where
    T: DataSize
[src]

impl<T> DataSize for [T; 59] where
    T: DataSize
[src]

impl<T> DataSize for [T; 60] where
    T: DataSize
[src]

impl<T> DataSize for [T; 61] where
    T: DataSize
[src]

impl<T> DataSize for [T; 62] where
    T: DataSize
[src]

impl<T> DataSize for [T; 63] where
    T: DataSize
[src]

impl<T> DataSize for [T; 64] where
    T: DataSize
[src]

impl<T> DataSize for [T; 128] where
    T: DataSize
[src]

impl<T> DataSize for [T; 192] where
    T: DataSize
[src]

impl<T> DataSize for [T; 256] where
    T: DataSize
[src]

impl<T> DataSize for [T; 384] where
    T: DataSize
[src]

impl<T> DataSize for [T; 512] where
    T: DataSize
[src]

impl<T> DataSize for [T; 1024] where
    T: DataSize
[src]

impl<T> DataSize for [T; 2048] where
    T: DataSize
[src]

impl<T> DataSize for [T; 4096] where
    T: DataSize
[src]

impl<T> DataSize for [T; 8192] where
    T: DataSize
[src]

impl<T> DataSize for [T; 16384] where
    T: DataSize
[src]

impl<T> DataSize for [T; 1048576] where
    T: DataSize
[src]

impl<T> DataSize for [T; 2097152] where
    T: DataSize
[src]

impl<T> DataSize for [T; 3145728] where
    T: DataSize
[src]

impl<T> DataSize for [T; 4194304] where
    T: DataSize
[src]

impl<T, '_> DataSize for &'_ T[src]

impl<T, '_> DataSize for &'_ mut T[src]

impl<T> DataSize for Option<T> where
    T: DataSize
[src]

impl<T, E> DataSize for Result<T, E> where
    T: DataSize,
    E: DataSize
[src]

impl<T> DataSize for PhantomData<T>[src]

Loading content...

Implementors

Loading content...