pub struct BoundedUsize<const MIN: usize, const MAX: usize>(/* private fields */);Expand description
A BoundedUsize` that’s bounded between two values (inclusive)
Implementations§
Source§impl<const MIN: usize, const MAX: usize> BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> BoundedUsize<MIN, MAX>
Sourcepub fn new(num: usize) -> Result<Self, OutOfBoundsError<usize>>
pub fn new(num: usize) -> Result<Self, OutOfBoundsError<usize>>
Creates a new BoundedUsize from num.
§Parameters
num- The value to be validated and wrapped as a new bounded number.
§Returns
Ok(Self)ifnumis withinMINandMAX.Err(OutOfBoundsError)ifnumis outsideMINandMAX.
Sourcepub unsafe fn new_unchecked(num: usize) -> Self
pub unsafe fn new_unchecked(num: usize) -> Self
Create a new clamped BoundedUsize (unchecked). Assumes num is already clamped between MIN and MAX (inclusive).
§Parameters
num- The value to be wrapped as a new bounded number. This must already be validated.
§Returns
Self- A new instance of the bounded number wrapping the provided value.
§Safety
This function is marked unsafe because it assumes that num is already checked to
be within the range from MIN to MAX (inclusive). The caller must ensure that
this assumption is upheld.
Sourcepub fn into_inner(self) -> usize
pub fn into_inner(self) -> usize
Returns the value as a primitive type
Trait Implementations§
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>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<const MIN: usize, const MAX: usize> Copy for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> Eq for BoundedUsize<MIN, MAX>
Source§impl<const MIN: usize, const MAX: usize> Ord for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> Ord for BoundedUsize<MIN, MAX>
Source§fn cmp(&self, other: &BoundedUsize<MIN, MAX>) -> Ordering
fn cmp(&self, other: &BoundedUsize<MIN, MAX>) -> Ordering
1.21.0 (const: unstable) · 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<const MIN: usize, const MAX: usize> PartialEq for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> PartialEq for BoundedUsize<MIN, MAX>
Source§fn eq(&self, other: &BoundedUsize<MIN, MAX>) -> bool
fn eq(&self, other: &BoundedUsize<MIN, MAX>) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl<const MIN: usize, const MAX: usize> PartialOrd for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> PartialOrd for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> StructuralPartialEq for BoundedUsize<MIN, MAX>
Auto Trait Implementations§
impl<const MIN: usize, const MAX: usize> Freeze for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> RefUnwindSafe for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> Send for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> Sync for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> Unpin for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> UnsafeUnpin for BoundedUsize<MIN, MAX>
impl<const MIN: usize, const MAX: usize> UnwindSafe for BoundedUsize<MIN, MAX>
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