pub struct BoundedUsize<const MIN: usize, const MAX: usize>(/* private fields */);Expand description
An usize element that is forced to be within the inclusive range MIN..=MAX.
Implementations§
Source§impl<const MIN: usize, const MAX: usize> BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> BoundedUsize<MIN, MAX>
Sourcepub fn unchecked(&self) -> usize
pub fn unchecked(&self) -> usize
Returns the numeric value stored in the struct, but overrides the bounds check.
Sourcepub fn is_in_bounds(val: &impl PartialOrd<usize>) -> bool
pub fn is_in_bounds(val: &impl PartialOrd<usize>) -> bool
Function that returns whether a value is within the bounds.
Methods from Deref<Target = Result<usize, OutOfBoundsError<MIN, MAX>>>§
1.0.0 · Sourcepub fn as_ref(&self) -> Result<&T, &E>
pub fn as_ref(&self) -> Result<&T, &E>
Converts from &Result<T, E> to Result<&T, &E>.
Produces a new Result, containing a reference
into the original, leaving the original in place.
§Examples
let x: Result<u32, &str> = Ok(2);
assert_eq!(x.as_ref(), Ok(&2));
let x: Result<u32, &str> = Err("Error");
assert_eq!(x.as_ref(), Err(&"Error"));1.47.0 · Sourcepub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>where
T: Deref,
pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>where
T: Deref,
Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.
Coerces the Ok variant of the original Result via Deref
and returns the new Result.
§Examples
let x: Result<String, u32> = Ok("hello".to_string());
let y: Result<&str, &u32> = Ok("hello");
assert_eq!(x.as_deref(), y);
let x: Result<String, u32> = Err(42);
let y: Result<&str, &u32> = Err(&42);
assert_eq!(x.as_deref(), y);1.0.0 · Sourcepub fn iter(&self) -> Iter<'_, T>
pub fn iter(&self) -> Iter<'_, T>
Returns an iterator over the possibly contained value.
The iterator yields one value if the result is Result::Ok, otherwise none.
§Examples
let x: Result<u32, &str> = Ok(7);
assert_eq!(x.iter().next(), Some(&7));
let x: Result<u32, &str> = Err("nothing!");
assert_eq!(x.iter().next(), None);Trait Implementations§
Source§impl<const MIN: usize, const MAX: usize> AsRef<Result<usize, OutOfBoundsError<MIN, MAX>>> for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> AsRef<Result<usize, OutOfBoundsError<MIN, MAX>>> for BoundedUsize<MIN, MAX>
Source§impl<const MIN: usize, const MAX: usize> Borrow<Result<usize, OutOfBoundsError<MIN, MAX>>> for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> Borrow<Result<usize, OutOfBoundsError<MIN, MAX>>> for BoundedUsize<MIN, MAX>
Source§impl<const MIN: usize, const MAX: usize> Clone for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> Clone for BoundedUsize<MIN, MAX>
Source§fn clone(&self) -> BoundedUsize<MIN, MAX>
fn clone(&self) -> BoundedUsize<MIN, MAX>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'de, const MIN: usize, const MAX: usize> Deserialize<'de> for BoundedUsize<MIN, MAX>
impl<'de, const MIN: usize, const MAX: usize> Deserialize<'de> for BoundedUsize<MIN, MAX>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for i128
Inferred through symmetry.
impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for i128
Inferred through symmetry.
Source§impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for i16
Inferred through symmetry.
impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for i16
Inferred through symmetry.
Source§impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for i32
Inferred through symmetry.
impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for i32
Inferred through symmetry.
Source§impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for i64
Inferred through symmetry.
impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for i64
Inferred through symmetry.
Source§impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for i8
Inferred through symmetry.
impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for i8
Inferred through symmetry.
Source§impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for isize
Inferred through symmetry.
impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for isize
Inferred through symmetry.
Source§impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for u128
Inferred through symmetry.
impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for u128
Inferred through symmetry.
Source§impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for u16
Inferred through symmetry.
impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for u16
Inferred through symmetry.
Source§impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for u32
Inferred through symmetry.
impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for u32
Inferred through symmetry.
Source§impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for u64
Inferred through symmetry.
impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for u64
Inferred through symmetry.
Source§impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for u8
Inferred through symmetry.
impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for u8
Inferred through symmetry.
Source§impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for usize
Inferred through symmetry.
impl<const MIN: usize, const MAX: usize> PartialEq<BoundedUsize<MIN, MAX>> for usize
Inferred through symmetry.
Source§impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for i128
Inferred through assymetry.
impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for i128
Inferred through assymetry.
Source§impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for i16
Inferred through assymetry.
impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for i16
Inferred through assymetry.
Source§impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for i32
Inferred through assymetry.
impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for i32
Inferred through assymetry.
Source§impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for i64
Inferred through assymetry.
impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for i64
Inferred through assymetry.
Source§impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for i8
Inferred through assymetry.
impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for i8
Inferred through assymetry.
Source§impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for isize
Inferred through assymetry.
impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for isize
Inferred through assymetry.
Source§impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for u128
Inferred through assymetry.
impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for u128
Inferred through assymetry.
Source§impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for u16
Inferred through assymetry.
impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for u16
Inferred through assymetry.
Source§impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for u32
Inferred through assymetry.
impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for u32
Inferred through assymetry.
Source§impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for u64
Inferred through assymetry.
impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for u64
Inferred through assymetry.
Source§impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for u8
Inferred through assymetry.
impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for u8
Inferred through assymetry.
Source§impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for usize
Inferred through assymetry.
impl<const MIN: usize, const MAX: usize> PartialOrd<BoundedUsize<MIN, MAX>> for usize
Inferred through assymetry.