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§

source

fn size(&self) -> usize

Returns the size taken by a value in the buffer.

source

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§

source§

impl<T> BufferValue<WriteVectoredVecBuffer<T>> for Twhere T: AsRef<[u8]>,

Available on crate features write and std only.
source§

impl<T> BufferValue<VecBuffer<T>> for T

Available on crate feature std only.
source§

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.
source§

impl<T, const N: usize> BufferValue<WriteVectoredArrayBuffer<T, N>> for Twhere T: AsRef<[u8]>,

Available on crate features write and std only.
source§

impl<T, const N: usize> BufferValue<ArrayBuffer<T, N>> for T

source§

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.