#[repr(C)]pub struct FixedCapacityBytesU8<const CAPACITY: usize> { /* private fields */ }
Expand description
Container for storing a number of bytes limited by the specified fixed capacity as u8
.
See also FixedCapacityBytesU16
if you need to store more bytes.
In contrast to VariableBytes
, which can store arbitrary amount of data and can change the
capacity, this container has fixed predefined capacity and occupies it regardless of how many
bytes are actually stored inside. This might seem limiting but allows implementing
TrivialType
trait, enabling its use for fields in data structures that derive
TrivialType
themselves, which isn’t the case with VariableBytes
.
Implementations§
Source§impl<const CAPACITY: usize> FixedCapacityBytesU8<CAPACITY>
impl<const CAPACITY: usize> FixedCapacityBytesU8<CAPACITY>
Sourcepub fn try_from_bytes(bytes: &[u8]) -> Option<Self>
pub fn try_from_bytes(bytes: &[u8]) -> Option<Self>
Try to create an instance from provided bytes.
Returns None
if provided bytes do not fit into the capacity.
Sourcepub fn get_bytes_mut(&mut self) -> &mut [u8] ⓘ
pub fn get_bytes_mut(&mut self) -> &mut [u8] ⓘ
Exclusive access to stored bytes
Sourcepub fn append(&mut self, bytes: &[u8]) -> bool
pub fn append(&mut self, bytes: &[u8]) -> bool
Append some bytes.
true
is returned on success, but if there isn’t enough capacity left, false
is.
Sourcepub fn truncate(&mut self, new_len: u8) -> bool
pub fn truncate(&mut self, new_len: u8) -> bool
Truncate stored bytes to this length.
Returns true
on success or false
if new_len
is larger than Self::len()
.
Trait Implementations§
Source§impl<const CAPACITY: usize> Clone for FixedCapacityBytesU8<CAPACITY>
impl<const CAPACITY: usize> Clone for FixedCapacityBytesU8<CAPACITY>
Source§fn clone(&self) -> FixedCapacityBytesU8<CAPACITY>
fn clone(&self) -> FixedCapacityBytesU8<CAPACITY>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<const CAPACITY: usize> Debug for FixedCapacityBytesU8<CAPACITY>
impl<const CAPACITY: usize> Debug for FixedCapacityBytesU8<CAPACITY>
Source§impl<const CAPACITY: usize> Default for FixedCapacityBytesU8<CAPACITY>
impl<const CAPACITY: usize> Default for FixedCapacityBytesU8<CAPACITY>
Source§impl<const CAPACITY: usize> TrivialType for FixedCapacityBytesU8<CAPACITY>
impl<const CAPACITY: usize> TrivialType for FixedCapacityBytesU8<CAPACITY>
Source§const METADATA: &[u8]
const METADATA: &[u8]
IoTypeMetadataKind
for encoding details.const SIZE: u32 = _
Source§unsafe fn from_bytes(bytes: &[u8]) -> Option<&Self>
unsafe fn from_bytes(bytes: &[u8]) -> Option<&Self>
impl<const CAPACITY: usize> Copy for FixedCapacityBytesU8<CAPACITY>
Auto Trait Implementations§
impl<const CAPACITY: usize> Freeze for FixedCapacityBytesU8<CAPACITY>
impl<const CAPACITY: usize> RefUnwindSafe for FixedCapacityBytesU8<CAPACITY>
impl<const CAPACITY: usize> Send for FixedCapacityBytesU8<CAPACITY>
impl<const CAPACITY: usize> Sync for FixedCapacityBytesU8<CAPACITY>
impl<const CAPACITY: usize> Unpin for FixedCapacityBytesU8<CAPACITY>
impl<const CAPACITY: usize> UnwindSafe for FixedCapacityBytesU8<CAPACITY>
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> IoType for Twhere
T: TrivialType,
impl<T> IoType for Twhere
T: TrivialType,
Source§const METADATA: &'static [u8] = const METADATA: &'_ [u8] = T::METADATA;
const METADATA: &'static [u8] = const METADATA: &'_ [u8] = T::METADATA;
IoTypeMetadataKind
for encoding detailsSource§type PointerType = T
type PointerType = T
IoType
represents