Expand description

Fast serialization of integers.

use integer_encoding::*;

fn main() {
    let a: u32 = 344;
    let encoded_byte_slice = a.encode_fixed_light();
    assert_eq!(a, u32::decode_fixed(encoded_byte_slice));
    assert_eq!(4, encoded_byte_slice.len());

    let b: i32 = -111;
    let encoded_byte_vec = b.encode_var_vec();
    assert_eq!((b, 2), i32::decode_var(&encoded_byte_vec));
}

Traits

FixedInt provides encoding/decoding to and from fixed int representations. The emitted bytestring contains the bytes of the integer in machine endianness.
A trait for reading FixedInts from any other Reader.
A trait for writing integers without encoding (i.e. FixedInt) to any Write type.
Varint (variable length integer) encoding, as described in https://developers.google.com/protocol-buffers/docs/encoding. Uses zigzag encoding (also described there) for signed integer representation.
A trait for reading VarInts from any other Reader.
A trait for writing integers in VarInt encoding to any Write type. This packs encoding and writing into one step.