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", so this trait is not object safe.
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.