Trait dyn_size_of::GetSize

source ·
pub trait GetSize {
    const USES_DYN_MEM: bool = false;

    // Provided methods
    fn size_bytes_dyn(&self) -> usize { ... }
    fn size_bytes_content_dyn(&self) -> usize { ... }
    fn size_bytes(&self) -> usize { ... }
}
Expand description

Provides methods to get dynamic and total size of the variable.

Provided Associated Constants§

source

const USES_DYN_MEM: bool = false

true if and only if the variables of this type can use dynamic (heap) memory.

Provided Methods§

source

fn size_bytes_dyn(&self) -> usize

Returns approximate number of bytes occupied by dynamic (heap) part of self. Same as self.size_bytes() - std::mem::size_of_val(self).

source

fn size_bytes_content_dyn(&self) -> usize

Returns approximate number of bytes occupied by dynamic (heap) part of self content. It usually equals to size_bytes_dyn(). However, sometimes it is smaller by the amount of memory reserved but not yet used (e.g., size_bytes_content_dyn() only takes into account the length of the vector and not its capacity).

source

fn size_bytes(&self) -> usize

Returns approximate, total (including heap memory) number of bytes occupied by self.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl GetSize for bool

source§

impl GetSize for char

source§

impl GetSize for f32

source§

impl GetSize for f64

source§

impl GetSize for i8

source§

impl GetSize for i16

source§

impl GetSize for i32

source§

impl GetSize for i64

source§

impl GetSize for i128

source§

impl GetSize for isize

source§

impl GetSize for u8

source§

impl GetSize for u16

source§

impl GetSize for u32

source§

impl GetSize for u64

source§

impl GetSize for u128

source§

impl GetSize for ()

source§

impl GetSize for usize

source§

impl GetSize for AtomicBool

source§

impl GetSize for AtomicI8

source§

impl GetSize for AtomicI16

source§

impl GetSize for AtomicI32

source§

impl GetSize for AtomicI64

source§

impl GetSize for AtomicIsize

source§

impl GetSize for AtomicU8

source§

impl GetSize for AtomicU16

source§

impl GetSize for AtomicU32

source§

impl GetSize for AtomicU64

source§

impl GetSize for AtomicUsize

source§

impl<A: GetSize> GetSize for (A,)

source§

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

source§

impl<A: GetSize, B: GetSize, C: GetSize> GetSize for (A, B, C)

source§

impl<A: GetSize, B: GetSize, C: GetSize, D: GetSize> GetSize for (A, B, C, D)

source§

impl<A: GetSize, B: GetSize, C: GetSize, D: GetSize, E: GetSize> GetSize for (A, B, C, D, E)

source§

impl<A: GetSize, B: GetSize, C: GetSize, D: GetSize, E: GetSize, F: GetSize> GetSize for (A, B, C, D, E, F)

source§

impl<A: GetSize, B: GetSize, C: GetSize, D: GetSize, E: GetSize, F: GetSize, G: GetSize> GetSize for (A, B, C, D, E, F, G)

source§

impl<A: GetSize, B: GetSize, C: GetSize, D: GetSize, E: GetSize, F: GetSize, G: GetSize, H: GetSize> GetSize for (A, B, C, D, E, F, G, H)

source§

impl<A: GetSize, B: GetSize, C: GetSize, D: GetSize, E: GetSize, F: GetSize, G: GetSize, H: GetSize, I: GetSize> GetSize for (A, B, C, D, E, F, G, H, I)

source§

impl<A: GetSize, B: GetSize, C: GetSize, D: GetSize, E: GetSize, F: GetSize, G: GetSize, H: GetSize, I: GetSize, J: GetSize> GetSize for (A, B, C, D, E, F, G, H, I, J)

source§

impl<T: GetSize> GetSize for Box<[T]>

source§

impl<T: GetSize> GetSize for Box<T>

source§

impl<T: GetSize> GetSize for Rc<T>

source§

impl<T: GetSize> GetSize for Vec<T>

source§

impl<T: GetSize, const N: usize> GetSize for [T; N]

Implementors§