#[repr(transparent)]pub struct CharULE(_);
Expand description
A u8 array of little-endian data corresponding to a Unicode code point.
The bytes of a CharULE
are guaranteed to represent a little-endian-encoded u32 that is a
valid char
and can be converted without validation.
Examples
Convert a char
to a CharULE
and back again:
use zerovec::ule::{AsULE, CharULE, ULE};
let c1 = '𑄃';
let ule = c1.to_unaligned();
assert_eq!(CharULE::as_byte_slice(&[ule]), &[0x03, 0x11, 0x01]);
let c2 = char::from_unaligned(ule);
assert_eq!(c1, c2);
Attempt to parse invalid bytes to a CharULE
:
use zerovec::ule::{CharULE, ULE};
let bytes: &[u8] = &[0xFF, 0xFF, 0xFF, 0xFF];
CharULE::parse_byte_slice(bytes).expect_err("Invalid bytes");
Trait Implementations
sourceimpl Ord for CharULE
impl Ord for CharULE
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl PartialOrd<CharULE> for CharULE
impl PartialOrd<CharULE> for CharULE
sourcefn partial_cmp(&self, other: &Self) -> Option<Ordering>
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresourceimpl ULE for CharULE
impl ULE for CharULE
sourcefn validate_byte_slice(bytes: &[u8]) -> Result<(), ZeroVecError>
fn validate_byte_slice(bytes: &[u8]) -> Result<(), ZeroVecError>
Validates a byte slice,
&[u8]
. Read moresourcefn parse_byte_slice(bytes: &[u8]) -> Result<&[Self], ZeroVecError>
fn parse_byte_slice(bytes: &[u8]) -> Result<&[Self], ZeroVecError>
sourceunsafe fn from_byte_slice_unchecked(bytes: &[u8]) -> &[Self]ⓘNotable traits for &[u8]impl Read for &[u8]impl Write for &mut [u8]
unsafe fn from_byte_slice_unchecked(bytes: &[u8]) -> &[Self]ⓘNotable traits for &[u8]impl Read for &[u8]impl Write for &mut [u8]
Takes a byte slice,
&[u8]
, and return it as &[Self]
with the same lifetime, assuming
that this byte slice has previously been run through Self::parse_byte_slice()
with
success. Read moreimpl Copy for CharULE
impl Eq for CharULE
impl StructuralEq for CharULE
impl StructuralPartialEq for CharULE
Auto Trait Implementations
impl RefUnwindSafe for CharULE
impl Send for CharULE
impl Sync for CharULE
impl Unpin for CharULE
impl UnwindSafe for CharULE
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more