pub trait MaxEncodedLen: Encode {
// Required method
fn max_encoded_len() -> usize;
}Expand description
Items implementing MaxEncodedLen have a statically known maximum encoded size.
Some containers, such as BoundedVec, have enforced size limits and this trait
can be implemented accurately. Other containers, such as StorageMap, do not have enforced size
limits. For those containers, it is necessary to make a documented assumption about the maximum
usage, and compute the max encoded length based on that assumption.
Required Methods§
Sourcefn max_encoded_len() -> usize
fn max_encoded_len() -> usize
Upper bound, in bytes, of the maximum encoded size of this item.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl MaxEncodedLen for bool
impl MaxEncodedLen for bool
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for i8
impl MaxEncodedLen for i8
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for i16
impl MaxEncodedLen for i16
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for i32
impl MaxEncodedLen for i32
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for i64
impl MaxEncodedLen for i64
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for i128
impl MaxEncodedLen for i128
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for u8
impl MaxEncodedLen for u8
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for u16
impl MaxEncodedLen for u16
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for u32
impl MaxEncodedLen for u32
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for u64
impl MaxEncodedLen for u64
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for u128
impl MaxEncodedLen for u128
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for ()
impl MaxEncodedLen for ()
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for Duration
impl MaxEncodedLen for Duration
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for NonZeroI8
impl MaxEncodedLen for NonZeroI8
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for NonZeroI16
impl MaxEncodedLen for NonZeroI16
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for NonZeroI32
impl MaxEncodedLen for NonZeroI32
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for NonZeroI64
impl MaxEncodedLen for NonZeroI64
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for NonZeroI128
impl MaxEncodedLen for NonZeroI128
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for NonZeroU8
impl MaxEncodedLen for NonZeroU8
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for NonZeroU16
impl MaxEncodedLen for NonZeroU16
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for NonZeroU32
impl MaxEncodedLen for NonZeroU32
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for NonZeroU64
impl MaxEncodedLen for NonZeroU64
fn max_encoded_len() -> usize
Source§impl MaxEncodedLen for NonZeroU128
impl MaxEncodedLen for NonZeroU128
fn max_encoded_len() -> usize
Source§impl<T> MaxEncodedLen for PhantomData<T>
impl<T> MaxEncodedLen for PhantomData<T>
fn max_encoded_len() -> usize
Source§impl<T, E> MaxEncodedLen for Result<T, E>where
T: MaxEncodedLen,
E: MaxEncodedLen,
impl<T, E> MaxEncodedLen for Result<T, E>where
T: MaxEncodedLen,
E: MaxEncodedLen,
fn max_encoded_len() -> usize
Source§impl<T: MaxEncodedLen> MaxEncodedLen for Option<T>
impl<T: MaxEncodedLen> MaxEncodedLen for Option<T>
fn max_encoded_len() -> usize
Source§impl<T: MaxEncodedLen> MaxEncodedLen for Box<T>
impl<T: MaxEncodedLen> MaxEncodedLen for Box<T>
fn max_encoded_len() -> usize
Source§impl<T: MaxEncodedLen> MaxEncodedLen for Arc<T>
Available on target_has_atomic=ptr only.
impl<T: MaxEncodedLen> MaxEncodedLen for Arc<T>
Available on
target_has_atomic=ptr only.