pub struct Bounded<T, const MAX: usize>(pub T);Expand description
A newtype wrapper for T which modifies the Encode and
Decode impls to be bounded by some upper limit MAX.
Implementations are expected to error eagerly if the limit is exceeded.
What exactly MAX represents depends on the type T. Here are some
instances:
- arrays/slices: The maximum number of elements.
- strings: The maximum number of utf16 code units.
RawBytes: The maximum number of bytes.
Tuple Fields§
§0: TImplementations§
Trait Implementations§
Source§impl<'a, const MAX_BYTES: usize> Decode<'a> for Bounded<RawBytes<'a>, MAX_BYTES>
Raises a decoding error if the remainder of the input is larger than
MAX_BYTES.
impl<'a, const MAX_BYTES: usize> Decode<'a> for Bounded<RawBytes<'a>, MAX_BYTES>
Raises a decoding error if the remainder of the input is larger than
MAX_BYTES.
Source§impl<const MAX_BYTES: usize> Encode for Bounded<RawBytes<'_>, MAX_BYTES>
Raises an encoding error if the inner slice is longer than MAX_BYTES.
impl<const MAX_BYTES: usize> Encode for Bounded<RawBytes<'_>, MAX_BYTES>
Raises an encoding error if the inner slice is longer than MAX_BYTES.
Source§impl<T: Ord, const MAX: usize> Ord for Bounded<T, MAX>
impl<T: Ord, const MAX: usize> Ord for Bounded<T, MAX>
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<T: PartialOrd, const MAX: usize> PartialOrd for Bounded<T, MAX>
impl<T: PartialOrd, const MAX: usize> PartialOrd for Bounded<T, MAX>
impl<T: Copy, const MAX: usize> Copy for Bounded<T, MAX>
impl<T: Eq, const MAX: usize> Eq for Bounded<T, MAX>
impl<T, const MAX: usize> StructuralPartialEq for Bounded<T, MAX>
Auto Trait Implementations§
impl<T, const MAX: usize> Freeze for Bounded<T, MAX>where
T: Freeze,
impl<T, const MAX: usize> RefUnwindSafe for Bounded<T, MAX>where
T: RefUnwindSafe,
impl<T, const MAX: usize> Send for Bounded<T, MAX>where
T: Send,
impl<T, const MAX: usize> Sync for Bounded<T, MAX>where
T: Sync,
impl<T, const MAX: usize> Unpin for Bounded<T, MAX>where
T: Unpin,
impl<T, const MAX: usize> UnwindSafe for Bounded<T, MAX>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.