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.