Skip to main content

ZigZagWriteExt

Trait ZigZagWriteExt 

Source
pub trait ZigZagWriteExt: Write {
    // Required methods
    fn write_zigzag_i8(&mut self, value: i8) -> Result<()>;
    fn write_zigzag_i16(&mut self, value: i16) -> Result<()>;
    fn write_zigzag_i32(&mut self, value: i32) -> Result<()>;
    fn write_zigzag_i64(&mut self, value: i64) -> Result<()>;
    fn write_zigzag_i128(&mut self, value: i128) -> Result<()>;
    fn write_zigzag_isize(&mut self, value: isize) -> Result<()>;
}
Expand description

Extension methods for writing ZigZag encoded signed integers.

ZigZag maps signed integers to unsigned integers so small negative values still have short varint encodings. The mapped unsigned value is written with unsigned LEB128. The ZigZag mapping follows the Protocol Buffers encoding guide: https://protobuf.dev/programming-guides/encoding/#signed-integers.

Required Methods§

Source

fn write_zigzag_i8(&mut self, value: i8) -> Result<()>

Writes a ZigZag encoded i8.

§Parameters
  • value: Value to encode.
§Errors

Returns an I/O error from the underlying writer.

Source

fn write_zigzag_i16(&mut self, value: i16) -> Result<()>

Writes a ZigZag encoded i16.

§Parameters
  • value: Value to encode.
§Errors

Returns an I/O error from the underlying writer.

Source

fn write_zigzag_i32(&mut self, value: i32) -> Result<()>

Writes a ZigZag encoded i32.

§Parameters
  • value: Value to encode.
§Errors

Returns an I/O error from the underlying writer.

Source

fn write_zigzag_i64(&mut self, value: i64) -> Result<()>

Writes a ZigZag encoded i64.

§Parameters
  • value: Value to encode.
§Errors

Returns an I/O error from the underlying writer.

Source

fn write_zigzag_i128(&mut self, value: i128) -> Result<()>

Writes a ZigZag encoded i128.

§Parameters
  • value: Value to encode.
§Errors

Returns an I/O error from the underlying writer.

Source

fn write_zigzag_isize(&mut self, value: isize) -> Result<()>

Writes a ZigZag encoded isize.

§Parameters
  • value: Value to encode.
§Errors

Returns an I/O error from the underlying writer.

Implementors§

Source§

impl<T> ZigZagWriteExt for T
where T: Write + ?Sized,