pub struct CharULE(/* private fields */);
Expand description
A u8 array of little-endian data corresponding to a Unicode scalar value.
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");
Implementationsยง
Sourceยงimpl CharULE
impl CharULE
Sourcepub const fn from_aligned(c: char) -> Self
pub const fn from_aligned(c: char) -> Self
Converts a char
to a CharULE
. This is equivalent to calling
AsULE::to_unaligned()
See the type-level documentation for CharULE
for more information.
Trait Implementationsยง
Sourceยงimpl Ord for CharULE
impl Ord for CharULE
Sourceยงimpl PartialOrd for CharULE
impl PartialOrd for CharULE
Sourceยงimpl ULE for CharULE
impl ULE for CharULE
Sourceยงfn validate_byte_slice(bytes: &[u8]) -> Result<(), ZeroVecError>
fn validate_byte_slice(bytes: &[u8]) -> Result<(), ZeroVecError>
Validates a byte slice,
&[u8]
. Read moreSourceยงfn parse_byte_slice(bytes: &[u8]) -> Result<&[Self], ZeroVecError>
fn parse_byte_slice(bytes: &[u8]) -> Result<&[Self], ZeroVecError>
Sourceยงunsafe fn from_byte_slice_unchecked(bytes: &[u8]) -> &[Self]
unsafe fn from_byte_slice_unchecked(bytes: &[u8]) -> &[Self]
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 moreSourceยงfn as_byte_slice(slice: &[Self]) -> &[u8]
fn as_byte_slice(slice: &[Self]) -> &[u8]
impl Copy for CharULE
impl Eq for CharULE
impl StructuralPartialEq for CharULE
Auto Trait Implementationsยง
impl Freeze for CharULE
impl RefUnwindSafe for CharULE
impl Send for CharULE
impl Sync for CharULE
impl Unpin for CharULE
impl UnwindSafe for CharULE
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
Sourceยงimpl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Sourceยงunsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
๐ฌThis is a nightly-only experimental API. (
clone_to_uninit
)