Skip to main content

WriteBuffer

Trait WriteBuffer 

Source
pub trait WriteBuffer: ReadBuffer {
Show 14 methods // Required method fn as_mut_slice(&mut self) -> &mut [u8] ; // Provided methods fn put_u8(&mut self, offset: usize, value: u8) { ... } fn put_i8(&mut self, offset: usize, value: i8) { ... } fn put_u16_le(&mut self, offset: usize, value: u16) { ... } fn put_i16_le(&mut self, offset: usize, value: i16) { ... } fn put_u32_le(&mut self, offset: usize, value: u32) { ... } fn put_i32_le(&mut self, offset: usize, value: i32) { ... } fn put_u64_le(&mut self, offset: usize, value: u64) { ... } fn put_i64_le(&mut self, offset: usize, value: i64) { ... } fn put_f32_le(&mut self, offset: usize, value: f32) { ... } fn put_f64_le(&mut self, offset: usize, value: f64) { ... } fn put_bytes(&mut self, offset: usize, src: &[u8]) { ... } fn put_str(&mut self, offset: usize, value: &str, max_len: usize) { ... } fn zero(&mut self, offset: usize, len: usize) { ... }
}
Expand description

Trait for read-write buffer access with optimized primitive writes.

All write methods use little-endian byte order as per SBE specification.

Required Methods§

Source

fn as_mut_slice(&mut self) -> &mut [u8]

Returns the buffer as a mutable byte slice.

Provided Methods§

Source

fn put_u8(&mut self, offset: usize, value: u8)

Writes a u8 at the given offset.

§Arguments
  • offset - Byte offset to write to
  • value - Value to write
Source

fn put_i8(&mut self, offset: usize, value: i8)

Writes an i8 at the given offset.

§Arguments
  • offset - Byte offset to write to
  • value - Value to write
Source

fn put_u16_le(&mut self, offset: usize, value: u16)

Writes a u16 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to write to
  • value - Value to write
Source

fn put_i16_le(&mut self, offset: usize, value: i16)

Writes an i16 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to write to
  • value - Value to write
Source

fn put_u32_le(&mut self, offset: usize, value: u32)

Writes a u32 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to write to
  • value - Value to write
Source

fn put_i32_le(&mut self, offset: usize, value: i32)

Writes an i32 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to write to
  • value - Value to write
Source

fn put_u64_le(&mut self, offset: usize, value: u64)

Writes a u64 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to write to
  • value - Value to write
Source

fn put_i64_le(&mut self, offset: usize, value: i64)

Writes an i64 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to write to
  • value - Value to write
Source

fn put_f32_le(&mut self, offset: usize, value: f32)

Writes an f32 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to write to
  • value - Value to write
Source

fn put_f64_le(&mut self, offset: usize, value: f64)

Writes an f64 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to write to
  • value - Value to write
Source

fn put_bytes(&mut self, offset: usize, src: &[u8])

Writes a byte slice at the given offset.

§Arguments
  • offset - Byte offset to write to
  • src - Source bytes to copy
Source

fn put_str(&mut self, offset: usize, value: &str, max_len: usize)

Writes a string to a fixed-length field, padding with nulls.

§Arguments
  • offset - Byte offset to write to
  • value - String value to write
  • max_len - Maximum field length in bytes
Source

fn zero(&mut self, offset: usize, len: usize)

Fills a range with zeros.

§Arguments
  • offset - Byte offset to start from
  • len - Number of bytes to zero

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl WriteBuffer for Vec<u8>

Implement WriteBuffer for Vec<u8>.

Source§

fn as_mut_slice(&mut self) -> &mut [u8]

Source§

impl WriteBuffer for [u8]

Implement WriteBuffer for byte slices.

Source§

fn as_mut_slice(&mut self) -> &mut [u8]

Implementors§