pub trait SetLenExt: SetLen {
// 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
Extension trait for set_len like 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".