Skip to main content

StaticSize

Trait StaticSize 

Source
pub trait StaticSize {
    const MAX_SIZE: usize;
    const PACKED_MAX_SIZE: usize = Self::MAX_SIZE;
}
Available on crate feature static-size and (crate features alloc or derive or serde or static-size or std or zero-copy) only.
Expand description

A trait that calculates the upper bound of a type’s serialized size as a const value.

Required Associated Constants§

Source

const MAX_SIZE: usize

The maximum possible serialized size in bytes (no bit-packing).

Provided Associated Constants§

Source

const PACKED_MAX_SIZE: usize = Self::MAX_SIZE

The maximum possible serialized size in bytes when bit-packing is enabled.

For types with #[bincode(bits = N)] fields this is typically smaller than MAX_SIZE because consecutive bit-packed fields share bytes. Types that have no bit-packed fields default to MAX_SIZE.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl StaticSize for ()

Source§

impl StaticSize for bool

Source§

impl StaticSize for char

Source§

impl StaticSize for f32

Source§

impl StaticSize for f64

Source§

impl StaticSize for i8

Source§

impl StaticSize for i16

Source§

impl StaticSize for i32

Source§

impl StaticSize for i64

Source§

impl StaticSize for i128

Source§

impl StaticSize for isize

Source§

impl StaticSize for u8

Source§

impl StaticSize for u16

Source§

impl StaticSize for u32

Source§

impl StaticSize for u64

Source§

impl StaticSize for u128

Source§

impl StaticSize for usize

Source§

const MAX_SIZE: Self = 9

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T: StaticSize, E: StaticSize> StaticSize for Result<T, E>

Source§

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

Source§

impl<T: StaticSize> StaticSize for Option<T>

Source§

impl<T> StaticSize for PhantomData<T>

Implementors§

Source§

impl<T, const CAP: usize> StaticSize for BoundedVec<T, CAP>
where T: StaticSize,

Available on crate feature alloc only.
Source§

impl<const CAP: usize> StaticSize for BoundedString<CAP>

Available on crate feature alloc only.