#[repr(transparent)]pub struct u7(_);
Expand description
A 7-bit integer type.
Wraps the u8
type and ensures that the top bit is always zero.
Implementations§
source§impl u7
impl u7
sourcepub const fn new(raw: u8) -> u7
pub const fn new(raw: u8) -> u7
Creates a restricted int from its non-restricted counterpart by masking off the extra bits.
sourcepub const fn from_int_lossy(raw: u8) -> u7
pub const fn from_int_lossy(raw: u8) -> u7
Creates a restricted int from its non-restricted counterpart by masking off the extra bits.
sourcepub fn try_from(raw: u8) -> Option<u7>
pub fn try_from(raw: u8) -> Option<u7>
Returns Some
if the raw integer is within range of the restricted integer, and
None
otherwise.
sourcepub fn as_int(self) -> u8
pub fn as_int(self) -> u8
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: &[u8]) -> Option<&[u7]>
pub fn slice_try_from_int(raw: &[u8]) -> Option<&[u7]>
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: &[u8]) -> &[u7]
pub fn slice_from_int(raw: &[u8]) -> &[u7]
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: &[u8]) -> &[u7]
pub unsafe fn slice_from_int_unchecked(raw: &[u8]) -> &[u7]
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 [u8]) -> Option<&mut [u7]>
pub fn slice_try_from_int_mut(raw: &mut [u8]) -> Option<&mut [u7]>
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 [u8]) -> &mut [u7]
pub fn slice_from_int_mut(raw: &mut [u8]) -> &mut [u7]
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 [u8]) -> &mut [u7]
pub unsafe fn slice_from_int_unchecked_mut(raw: &mut [u8]) -> &mut [u7]
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: &[u7]) -> &[u8] ⓘ
pub fn slice_as_int(slice: &[u7]) -> &[u8] ⓘ
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<u7> for u7
impl AddAssign<u7> for u7
source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
+=
operation. Read moresource§impl Ord for u7
impl Ord for u7
source§impl PartialOrd<u7> for u7
impl PartialOrd<u7> for u7
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl PartialOrd<u7> for u8
impl PartialOrd<u7> for u8
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl PartialOrd<u8> for u7
impl PartialOrd<u8> for u7
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl SubAssign<u7> for u7
impl SubAssign<u7> for u7
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
-=
operation. Read more