pub trait SetLen {
// Required method
unsafe fn set_len(&mut self, len: usize);
// Provided methods
unsafe fn advance(&mut self, len: usize)
where Self: IoBuf { ... }
unsafe fn advance_to(&mut self, len: usize)
where Self: IoBuf { ... }
unsafe fn advance_vec_to(&mut self, len: usize)
where Self: IoVectoredBuf { ... }
fn clear(&mut self)
where Self: IoBuf { ... }
}Expand description
A helper trait for set_len like methods.
Required Methods§
Provided Methods§
Sourceunsafe fn advance(&mut self, len: usize)where
Self: IoBuf,
unsafe fn advance(&mut self, len: usize)where
Self: IoBuf,
Advance the buffer length by len.
§Safety
- The bytes in the range
[buf_len(), buf_len() + len)must be initialized.
Sourceunsafe fn advance_to(&mut self, len: usize)where
Self: IoBuf,
unsafe fn advance_to(&mut self, len: usize)where
Self: IoBuf,
Set the buffer length to len. If len is less than the current
length, this operation is a no-op.
§Safety
lenmust be less or equal thanas_uninit().len().- The bytes in the range
[buf_len(), len)must be initialized.
Sourceunsafe fn advance_vec_to(&mut self, len: usize)where
Self: IoVectoredBuf,
unsafe fn advance_vec_to(&mut self, len: usize)where
Self: IoVectoredBuf,
Set the vector buffer’s total length to len. If len is less than the
current total length, this operation is a no-op.
§Safety
lenmust be less or equal thantotal_len().- The bytes in the range
[total_len(), len)must be initialized.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl SetLen for BorrowedBuf<'static>
Available on crate feature read_buf only.
impl SetLen for BorrowedBuf<'static>
Available on crate feature
read_buf only.Source§impl<T: IoBufMut, const N: usize> SetLen for ArrayVec<T, N>
Available on crate feature arrayvec only.
impl<T: IoBufMut, const N: usize> SetLen for ArrayVec<T, N>
Available on crate feature
arrayvec only.Source§impl<T: IoBufMut, const N: usize> SetLen for SmallVec<[T; N]>
Available on crate feature smallvec only.
impl<T: IoBufMut, const N: usize> SetLen for SmallVec<[T; N]>
Available on crate feature
smallvec only.