pub struct u28(/* private fields */);Expand description
Referred to in the MIDI spec as “variable length int”.
Implementations§
Source§impl u28
impl u28
Sourcepub const fn new(raw: u32) -> u28
pub const fn new(raw: u32) -> u28
Creates a restricted int from its non-restricted counterpart by masking off the extra bits.
Sourcepub const fn from_int_lossy(raw: u32) -> u28
pub const fn from_int_lossy(raw: u32) -> u28
Creates a restricted int from its non-restricted counterpart by masking off the extra bits.
Sourcepub fn try_from(raw: u32) -> Option<u28>
pub fn try_from(raw: u32) -> Option<u28>
Returns Some if the raw integer is within range of the restricted integer, and
None otherwise.
Sourcepub fn as_int(self) -> u32
pub fn as_int(self) -> u32
Get the inner integer out of the wrapper. The inner integer is guaranteed to be in range of the restricted wrapper.
Sourcepub fn slice_try_from_int(raw: &[u32]) -> Option<&[u28]>
pub fn slice_try_from_int(raw: &[u32]) -> Option<&[u28]>
Cast a slice of raw integers to a slice of restricted integers, only if there are no out-of-range integers.
Sourcepub fn slice_from_int(raw: &[u32]) -> &[u28]
pub fn slice_from_int(raw: &[u32]) -> &[u28]
Cast a slice of raw integers to a slice of restricted integers.
The slice is truncated up to the first out-of-range integer, if there is any.
Sourcepub unsafe fn slice_from_int_unchecked(raw: &[u32]) -> &[u28]
pub unsafe fn slice_from_int_unchecked(raw: &[u32]) -> &[u28]
Cast a slice of raw integers to a slice of restricted integers.
§Safety
The input slice must not contain any out-of-range integers.
Sourcepub fn slice_try_from_int_mut(raw: &mut [u32]) -> Option<&mut [u28]>
pub fn slice_try_from_int_mut(raw: &mut [u32]) -> Option<&mut [u28]>
Cast a slice of mutable raw integers to a slice of mutable restricted integers, only if there are no out-of-range integers.
Sourcepub fn slice_from_int_mut(raw: &mut [u32]) -> &mut [u28]
pub fn slice_from_int_mut(raw: &mut [u32]) -> &mut [u28]
Cast a slice of mutable raw integers to a slice of mutable restricted integers.
The slice is truncated up to the first out-of-range integer, if there is any.
Sourcepub unsafe fn slice_from_int_unchecked_mut(raw: &mut [u32]) -> &mut [u28]
pub unsafe fn slice_from_int_unchecked_mut(raw: &mut [u32]) -> &mut [u28]
Cast a slice of mutable raw integers to a slice of mutable restricted integers.
§Safety
The input slice must not contain any out-of-range integers.
Sourcepub fn slice_as_int(slice: &[u28]) -> &[u32]
pub fn slice_as_int(slice: &[u28]) -> &[u32]
Cast a slice of restricted integers to the corresponding raw integers.
All integers are guaranteed to be within range of the restricted int.
Trait Implementations§
Source§impl AddAssign for u28
impl AddAssign for u28
Source§fn add_assign(&mut self, other: u28)
fn add_assign(&mut self, other: u28)
+= operation. Read moreSource§impl Ord for u28
impl Ord for u28
Source§impl PartialOrd<u32> for u28
impl PartialOrd<u32> for u28
Source§impl PartialOrd for u28
impl PartialOrd for u28
Source§impl SubAssign for u28
impl SubAssign for u28
Source§fn sub_assign(&mut self, other: u28)
fn sub_assign(&mut self, other: u28)
-= operation. Read moreimpl Copy for u28
impl Eq for u28
impl StructuralPartialEq for u28
Auto Trait Implementations§
impl Freeze for u28
impl RefUnwindSafe for u28
impl Send for u28
impl Sync for u28
impl Unpin for u28
impl UnwindSafe for u28
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more