Skip to main content

Size

Struct Size 

Source
pub struct Size<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize>;
Expand description

An ASN.1 SIZE interval.

Disabled bounds ignore their corresponding numeric const parameter. Keeping both flags explicit mirrors ASN.1’s MIN and MAX endpoints and avoids approximating an unbounded specification with a machine maximum.

Trait Implementations§

Source§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Clone for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Source§

fn clone(&self) -> Size<HAS_MIN, MIN, HAS_MAX, MAX>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a, T: DeepView, const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Pred<&'a [T]> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Source§

exec fn test(&self, value: &&'a [T]) -> ok : bool

Source§

impl<'a, const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Pred<&'a str> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Source§

exec fn test(&self, value: &&'a str) -> ok : bool

Source§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Pred<BmpString> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Available on crate feature alloc only.
Source§

exec fn test(&self, value: &BmpString) -> ok : bool

Source§

impl<'a, const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Pred<Ia5String<'a>> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Source§

exec fn test(&self, value: &Ia5String<'a>) -> ok : bool

Source§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Pred<Ia5StringOwned> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Available on crate feature alloc only.
Source§

exec fn test(&self, value: &Ia5StringOwned) -> ok : bool

Source§

impl<'a, const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Pred<PrintableString<'a>> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Source§

exec fn test(&self, value: &PrintableString<'a>) -> ok : bool

Source§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Pred<PrintableStringOwned> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Available on crate feature alloc only.
Source§

exec fn test(&self, value: &PrintableStringOwned) -> ok : bool

Source§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Pred<String> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Available on crate feature alloc only.
Source§

exec fn test(&self, value: &Utf8StringOwned) -> ok : bool

Source§

impl<'a, const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Pred<TeletexString<'a>> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Source§

exec fn test(&self, value: &TeletexString<'a>) -> ok : bool

Source§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Pred<TeletexStringOwned> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Available on crate feature alloc only.
Source§

exec fn test(&self, value: &TeletexStringOwned) -> ok : bool

Source§

impl<T: DeepView, const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Pred<Vec<T>> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Available on crate feature alloc only.
Source§

exec fn test(&self, value: &Vec<T>) -> ok : bool

Source§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> SpecPred<BmpStringSpec> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Source§

open spec fn apply(&self, value: BmpStringSpec) -> bool

{ size_in_range::<HAS_MIN, MIN, HAS_MAX, MAX>(value.inner.len()) }
Source§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> SpecPred<Ia5StringSpec> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Source§

open spec fn apply(&self, value: Ia5StringSpec) -> bool

{ size_in_range::<HAS_MIN, MIN, HAS_MAX, MAX>(value.inner.len()) }
Source§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> SpecPred<PrintableStringSpec> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Source§

open spec fn apply(&self, value: PrintableStringSpec) -> bool

{ size_in_range::<HAS_MIN, MIN, HAS_MAX, MAX>(value.inner.len()) }
Source§

impl<T, const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> SpecPred<Seq<T>> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Source§

open spec fn apply(&self, value: Seq<T>) -> bool

{ size_in_range::<HAS_MIN, MIN, HAS_MAX, MAX>(value.len()) }
Source§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> SpecPred<TeletexStringSpec> for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Source§

open spec fn apply(&self, value: TeletexStringSpec) -> bool

{ size_in_range::<HAS_MIN, MIN, HAS_MAX, MAX>(value.inner.len()) }
Source§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Copy for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Auto Trait Implementations§

§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Freeze for Size<HAS_MIN, MIN, HAS_MAX, MAX>

§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> RefUnwindSafe for Size<HAS_MIN, MIN, HAS_MAX, MAX>

§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Send for Size<HAS_MIN, MIN, HAS_MAX, MAX>

§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Sync for Size<HAS_MIN, MIN, HAS_MAX, MAX>

§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> Unpin for Size<HAS_MIN, MIN, HAS_MAX, MAX>

§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> UnsafeUnpin for Size<HAS_MIN, MIN, HAS_MAX, MAX>

§

impl<const HAS_MIN: bool, const MIN: usize, const HAS_MAX: bool, const MAX: usize> UnwindSafe for Size<HAS_MIN, MIN, HAS_MAX, MAX>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, VERUS_SPEC__A> FromSpec<T> for VERUS_SPEC__A
where VERUS_SPEC__A: From<T>,

§

fn obeys_from_spec() -> bool

§

fn from_spec(v: T) -> VERUS_SPEC__A

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T, VERUS_SPEC__A> IntoSpec<T> for VERUS_SPEC__A
where VERUS_SPEC__A: Into<T>,

§

fn obeys_into_spec() -> bool

§

fn into_spec(self) -> T

§

impl<T, U> IntoSpecImpl<U> for T
where U: From<T>,

§

fn obeys_into_spec() -> bool

§

fn into_spec(self) -> U

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, VERUS_SPEC__A> TryFromSpec<T> for VERUS_SPEC__A
where VERUS_SPEC__A: TryFrom<T>,

§

fn obeys_try_from_spec() -> bool

§

fn try_from_spec( v: T, ) -> Result<VERUS_SPEC__A, <VERUS_SPEC__A as TryFrom<T>>::Error>

Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T, VERUS_SPEC__A> TryIntoSpec<T> for VERUS_SPEC__A
where VERUS_SPEC__A: TryInto<T>,

§

fn obeys_try_into_spec() -> bool

§

fn try_into_spec(self) -> Result<T, <VERUS_SPEC__A as TryInto<T>>::Error>

§

impl<T, U> TryIntoSpecImpl<U> for T
where U: TryFrom<T>,

§

fn obeys_try_into_spec() -> bool

§

fn try_into_spec(self) -> Result<U, <U as TryFrom<T>>::Error>

§

impl<A> SpecEq<&A> for A
where A: ?Sized,

§

impl<A> SpecEq<&mut A> for A
where A: ?Sized,

§

impl<A> SpecEq<A> for A
where A: ?Sized,

§

impl<A> SpecEq<Ghost<A>> for A

§

impl<A> SpecEq<Tracked<A>> for A