Trait MutBuffer

Source
pub trait MutBuffer {
    // Required methods
    fn truncate(&mut self, new_len: usize) -> Result<(), BufferError>;
    fn write_array_at<const BYTES: usize>(
        &mut self,
        offset: usize,
        data: [u8; BYTES],
    ) -> Result<(), BufferError>;
    fn write_bytes(&mut self, data: &[u8]) -> Result<(), BufferError>;
    fn write_array<const BYTES: usize>(
        &mut self,
        data: [u8; BYTES],
    ) -> Result<(), BufferError>;
    fn read_bytes_at_mut(
        &mut self,
        offset: usize,
        length: usize,
    ) -> Result<&mut [u8], BufferError>;
}

Required Methods§

Source

fn truncate(&mut self, new_len: usize) -> Result<(), BufferError>

Truncates the buffer to the given length.

Source

fn write_array_at<const BYTES: usize>( &mut self, offset: usize, data: [u8; BYTES], ) -> Result<(), BufferError>

Writes the given data at the given offset.

Source

fn write_bytes(&mut self, data: &[u8]) -> Result<(), BufferError>

Writes the given data at the end of the buffer.

Source

fn write_array<const BYTES: usize>( &mut self, data: [u8; BYTES], ) -> Result<(), BufferError>

Writes the given data at the end of the buffer.

Source

fn read_bytes_at_mut( &mut self, offset: usize, length: usize, ) -> Result<&mut [u8], BufferError>

Reads a given number of bytes at the given offset.

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<T: MutBuffer + Buffer> MutBuffer for &mut T

Source§

fn truncate(&mut self, new_len: usize) -> Result<(), BufferError>

Source§

fn write_array_at<const BYTES: usize>( &mut self, offset: usize, data: [u8; BYTES], ) -> Result<(), BufferError>

Source§

fn write_bytes(&mut self, data: &[u8]) -> Result<(), BufferError>

Source§

fn write_array<const BYTES: usize>( &mut self, data: [u8; BYTES], ) -> Result<(), BufferError>

Source§

fn read_bytes_at_mut( &mut self, offset: usize, length: usize, ) -> Result<&mut [u8], BufferError>

Source§

impl<const SIZE: usize> MutBuffer for ArrayVec<u8, SIZE>

Source§

fn truncate(&mut self, new_len: usize) -> Result<(), BufferError>

Source§

fn write_array_at<const BYTES: usize>( &mut self, offset: usize, data: [u8; BYTES], ) -> Result<(), BufferError>

Source§

fn write_bytes(&mut self, data: &[u8]) -> Result<(), BufferError>

Source§

fn write_array<const BYTES: usize>( &mut self, data: [u8; BYTES], ) -> Result<(), BufferError>

Source§

fn read_bytes_at_mut( &mut self, offset: usize, length: usize, ) -> Result<&mut [u8], BufferError>

Source§

impl<const SIZE: usize> MutBuffer for Vec<u8, SIZE>

Source§

fn truncate(&mut self, new_len: usize) -> Result<(), BufferError>

Source§

fn write_array_at<const BYTES: usize>( &mut self, offset: usize, data: [u8; BYTES], ) -> Result<(), BufferError>

Source§

fn write_bytes(&mut self, data: &[u8]) -> Result<(), BufferError>

Source§

fn write_array<const BYTES: usize>( &mut self, data: [u8; BYTES], ) -> Result<(), BufferError>

Source§

fn read_bytes_at_mut( &mut self, offset: usize, length: usize, ) -> Result<&mut [u8], BufferError>

Implementors§