Trait swap_buffer_queue::buffer::BufferValue
source · pub unsafe trait BufferValue<B: Buffer> {
// Required methods
fn size(&self) -> usize;
unsafe fn insert_into(self, buffer: &B, index: usize);
}
Expand description
Buffer
value.
Safety
Range index..index+value.size()
is considered inserted into the buffer after calling
BufferValue::insert_into
(see Buffer::slice
/Buffer::clear
)
Required Methods§
sourceunsafe fn insert_into(self, buffer: &B, index: usize)
unsafe fn insert_into(self, buffer: &B, index: usize)
Inserts the value into the buffer at the given index.
Safety
For every call to this method, the inserted range index..index+value.size()
must not
overlap with a previously inserted one.
Implementors§
impl<T> BufferValue<WriteVectoredVecBuffer<T>> for Twhere T: AsRef<[u8]>,
Available on crate features
write
and std
only.impl<T> BufferValue<VecBuffer<T>> for T
Available on crate feature
std
only.impl<T, const HEADER_SIZE: usize, const TRAILER_SIZE: usize> BufferValue<WriteVecBuffer<HEADER_SIZE, TRAILER_SIZE>> for Twhere T: WriteBytesSlice,
Available on crate features
std
and write
only.impl<T, const N: usize> BufferValue<WriteVectoredArrayBuffer<T, N>> for Twhere T: AsRef<[u8]>,
Available on crate features
write
and std
only.impl<T, const N: usize> BufferValue<ArrayBuffer<T, N>> for T
impl<T, const N: usize, const HEADER_SIZE: usize, const TRAILER_SIZE: usize> BufferValue<WriteArrayBuffer<N, HEADER_SIZE, TRAILER_SIZE>> for Twhere T: WriteBytesSlice,
Available on crate feature
write
only.