Trait ph::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.

Implementations on Foreign Types§

source§

impl GetSize for ArrayWithRankSimple

source§

impl GetSize for ArrayWithRank101111

source§

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

source§

fn size_bytes_dyn(&self) -> usize

source§

fn size_bytes_content_dyn(&self) -> usize

source§

const USES_DYN_MEM: bool = A::USES_DYN_MEM | B::USES_DYN_MEM | C::USES_DYN_MEM | D::USES_DYN_MEM | E::USES_DYN_MEM | F::USES_DYN_MEM

source§

impl GetSize for char

source§

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

source§

fn size_bytes_dyn(&self) -> usize

source§

fn size_bytes_content_dyn(&self) -> usize

source§

const USES_DYN_MEM: bool = A::USES_DYN_MEM | B::USES_DYN_MEM | C::USES_DYN_MEM | D::USES_DYN_MEM | E::USES_DYN_MEM | F::USES_DYN_MEM | G::USES_DYN_MEM | H::USES_DYN_MEM | I::USES_DYN_MEM | J::USES_DYN_MEM

source§

impl GetSize for isize

source§

impl GetSize for AtomicI8

source§

impl GetSize for AtomicIsize

source§

impl GetSize for ()

source§

impl GetSize for i8

source§

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

source§

impl GetSize for AtomicU8

source§

impl GetSize for AtomicBool

source§

impl<T> GetSize for Box<[T], Global>where T: GetSize,

source§

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

source§

fn size_bytes_dyn(&self) -> usize

source§

fn size_bytes_content_dyn(&self) -> usize

source§

const USES_DYN_MEM: bool = A::USES_DYN_MEM | B::USES_DYN_MEM

source§

impl GetSize for u128

source§

impl<T> GetSize for Vec<T, Global>where T: GetSize,

source§

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

source§

impl GetSize for AtomicI64

source§

impl GetSize for bool

source§

impl GetSize for u8

source§

impl<T> GetSize for Box<T, Global>where T: GetSize,

source§

impl GetSize for u16

source§

impl GetSize for f32

source§

impl GetSize for usize

source§

impl GetSize for AtomicU32

source§

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

source§

fn size_bytes_dyn(&self) -> usize

source§

fn size_bytes_content_dyn(&self) -> usize

source§

const USES_DYN_MEM: bool = A::USES_DYN_MEM | B::USES_DYN_MEM | C::USES_DYN_MEM | D::USES_DYN_MEM | E::USES_DYN_MEM | F::USES_DYN_MEM | G::USES_DYN_MEM | H::USES_DYN_MEM | I::USES_DYN_MEM

source§

impl GetSize for f64

source§

impl GetSize for AtomicU64

source§

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

source§

impl GetSize for i32

source§

impl GetSize for AtomicU16

source§

impl GetSize for i128

source§

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

source§

fn size_bytes_dyn(&self) -> usize

source§

fn size_bytes_content_dyn(&self) -> usize

source§

const USES_DYN_MEM: bool = A::USES_DYN_MEM | B::USES_DYN_MEM | C::USES_DYN_MEM | D::USES_DYN_MEM | E::USES_DYN_MEM

source§

impl GetSize for i16

source§

impl GetSize for AtomicI32

source§

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

source§

fn size_bytes_dyn(&self) -> usize

source§

fn size_bytes_content_dyn(&self) -> usize

source§

const USES_DYN_MEM: bool = A::USES_DYN_MEM | B::USES_DYN_MEM | C::USES_DYN_MEM

source§

impl GetSize for AtomicUsize

source§

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

source§

fn size_bytes_dyn(&self) -> usize

source§

fn size_bytes_content_dyn(&self) -> usize

source§

const USES_DYN_MEM: bool = A::USES_DYN_MEM | B::USES_DYN_MEM | C::USES_DYN_MEM | D::USES_DYN_MEM | E::USES_DYN_MEM | F::USES_DYN_MEM | G::USES_DYN_MEM

source§

impl GetSize for u32

source§

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

source§

fn size_bytes_dyn(&self) -> usize

source§

fn size_bytes_content_dyn(&self) -> usize

source§

const USES_DYN_MEM: bool = A::USES_DYN_MEM | B::USES_DYN_MEM | C::USES_DYN_MEM | D::USES_DYN_MEM

source§

impl GetSize for AtomicI16

source§

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

source§

fn size_bytes_dyn(&self) -> usize

source§

fn size_bytes_content_dyn(&self) -> usize

source§

const USES_DYN_MEM: bool = A::USES_DYN_MEM | B::USES_DYN_MEM | C::USES_DYN_MEM | D::USES_DYN_MEM | E::USES_DYN_MEM | F::USES_DYN_MEM | G::USES_DYN_MEM | H::USES_DYN_MEM

source§

impl GetSize for i64

source§

impl GetSize for u64

Implementors§