Trait parquet::decoding::Decoder [−][src]
pub trait Decoder<T: DataType> { fn set_data(&mut self, data: ByteBufferPtr, num_values: usize) -> Result<()>; fn get(&mut self, buffer: &mut [T::T]) -> Result<usize>; fn values_left(&self) -> usize; fn encoding(&self) -> Encoding; }
A Parquet decoder for the data type T.
Required Methods
fn set_data(&mut self, data: ByteBufferPtr, num_values: usize) -> Result<()>
Sets the data to decode to be data, which should contain num_values of values
to decode.
fn get(&mut self, buffer: &mut [T::T]) -> Result<usize>
Consumes values from this decoder and write the results to buffer. This will try
to fill up buffer.
Returns the actual number of values decoded, which should be equal to buffer.len()
unless the remaining number of values is less than buffer.len().
fn values_left(&self) -> usize
Returns the number of values left in this decoder stream.
fn encoding(&self) -> Encoding
Returns the encoding for this decoder.
Implementors
impl<T: DataType> Decoder<T> for PlainDecoder<T>impl Decoder<Int96Type> for PlainDecoder<Int96Type>impl Decoder<BoolType> for PlainDecoder<BoolType>impl Decoder<ByteArrayType> for PlainDecoder<ByteArrayType>impl Decoder<FixedLenByteArrayType> for PlainDecoder<FixedLenByteArrayType>impl<T: DataType> Decoder<T> for DictDecoder<T>impl<T: DataType> Decoder<T> for RleValueDecoder<T>impl Decoder<BoolType> for RleValueDecoder<BoolType>impl<T: DataType> Decoder<T> for DeltaBitPackDecoder<T>impl<T: DataType> Decoder<T> for DeltaLengthByteArrayDecoder<T>impl Decoder<ByteArrayType> for DeltaLengthByteArrayDecoder<ByteArrayType>impl<'m, T: DataType> Decoder<T> for DeltaByteArrayDecoder<T>impl Decoder<ByteArrayType> for DeltaByteArrayDecoder<ByteArrayType>