Trait stream_vbyte::Decoder [] [src]

pub trait Decoder {
    fn decode_quads(
        control_bytes: &[u8],
        encoded_nums: &[u8],
        output: &mut [u32],
        control_bytes_to_decode: usize
    ) -> (usize, usize); }

Decode bytes to numbers.

Required Methods

Decode encoded numbers in complete quads.

Only control bytes with 4 corresponding encoded numbers will be provided as input (i.e. no trailing partial quad).

control_bytes are the control bytes that correspond to encoded_nums.

output is the buffer to write decoded numbers into, and must be at least control_bytes_to_decode * 4 in length.

control_bytes_to_decode * 4 may be greater than the number of control bytes remaining.

Implementations may decode at most control_bytes_to_decode control bytes, but may decode fewer.

Implementations must not write to output outside of the area that will be populated by decoded numbers when all control bytes are processed..

Returns the number of numbers decoded into output and the number of bytes read from encoded_nums.

Implementors