[−][src]Struct parquet::memory::Buffer
A resize-able buffer class with generic member, with optional memory tracker.
Note that a buffer has two attributes:
capacity and size: the former is the total number of space reserved for
the buffer, while the latter is the actual number of elements.
Invariant: capacity >= size.
The total allocated bytes for a buffer equals to capacity * sizeof<T>().
Methods
impl<T: Clone> Buffer<T>[src]
impl<T: Clone> Buffer<T>pub fn new() -> Self[src]
pub fn new() -> SelfCreates new empty buffer.
pub fn with_mem_tracker(self, mc: MemTrackerPtr) -> Self[src]
pub fn with_mem_tracker(self, mc: MemTrackerPtr) -> SelfAdds MemTracker for this buffer.
pub fn data(&self) -> &[T][src]
pub fn data(&self) -> &[T]Returns slice of data in this buffer.
pub fn set_data(&mut self, new_data: Vec<T>)[src]
pub fn set_data(&mut self, new_data: Vec<T>)Sets data for this buffer.
pub fn resize(&mut self, new_size: usize, init_value: T)[src]
pub fn resize(&mut self, new_size: usize, init_value: T)Resizes underlying data in place to a new length new_size.
If new_size is less than current length, data is truncated, otherwise, it is
extended to new_size with provided default value init_value.
Memory tracker is also updated, if available.
pub fn clear(&mut self)[src]
pub fn clear(&mut self)Clears underlying data.
pub fn reserve(&mut self, additional_capacity: usize)[src]
pub fn reserve(&mut self, additional_capacity: usize)Reserves capacity additional_capacity for underlying data vector.
Memory tracker is also updated, if available.
pub fn consume(&mut self) -> BufferPtr<T>[src]
pub fn consume(&mut self) -> BufferPtr<T>Returns BufferPtr with buffer data.
Buffer data is reset.
pub fn push(&mut self, value: T)[src]
pub fn push(&mut self, value: T)Adds value to the buffer.
pub fn capacity(&self) -> usize[src]
pub fn capacity(&self) -> usizeReturns current capacity for the buffer.
pub fn size(&self) -> usize[src]
pub fn size(&self) -> usizeReturns current size for the buffer.
pub fn is_mem_tracked(&self) -> bool[src]
pub fn is_mem_tracked(&self) -> boolReturns true if memory tracker is added to buffer, false otherwise.
pub fn mem_tracker(&self) -> &MemTrackerPtr[src]
pub fn mem_tracker(&self) -> &MemTrackerPtrReturns memory tracker associated with this buffer. This may panic, if memory tracker is not set, use method above to check if memory tracker is available.
Trait Implementations
impl From<Buffer<u8>> for ByteArray[src]
impl From<Buffer<u8>> for ByteArrayfn from(buf: ByteBuffer) -> ByteArray[src]
fn from(buf: ByteBuffer) -> ByteArrayPerforms the conversion.
impl<T: Clone> Drop for Buffer<T>[src]
impl<T: Clone> Drop for Buffer<T>impl AsRef<[u8]> for Buffer<u8>[src]
impl AsRef<[u8]> for Buffer<u8>impl<T: Sized + Clone> Index<usize> for Buffer<T>[src]
impl<T: Sized + Clone> Index<usize> for Buffer<T>type Output = T
The returned type after indexing.
fn index(&self, index: usize) -> &T[src]
fn index(&self, index: usize) -> &TPerforms the indexing (container[index]) operation.
impl<T: Sized + Clone> IndexMut<usize> for Buffer<T>[src]
impl<T: Sized + Clone> IndexMut<usize> for Buffer<T>fn index_mut(&mut self, index: usize) -> &mut T[src]
fn index_mut(&mut self, index: usize) -> &mut TPerforms the mutable indexing (container[index]) operation.
impl Write for Buffer<u8>[src]
impl Write for Buffer<u8>fn write(&mut self, buf: &[u8]) -> IoResult<usize>[src]
fn write(&mut self, buf: &[u8]) -> IoResult<usize>Write a buffer into this object, returning how many bytes were written. Read more
fn flush(&mut self) -> IoResult<()>[src]
fn flush(&mut self) -> IoResult<()>Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>1.0.0[src]
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>Attempts to write an entire buffer into this write. Read more
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>1.0.0[src]
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>Writes a formatted string into this writer, returning any error encountered. Read more
fn by_ref(&mut self) -> &mut Self1.0.0[src]
fn by_ref(&mut self) -> &mut SelfCreates a "by reference" adaptor for this instance of Write. Read more
Auto Trait Implementations
Blanket Implementations
impl<T> From for T[src]
impl<T> From for Timpl<T, U> Into for T where
U: From<T>, [src]
impl<T, U> Into for T where
U: From<T>, impl<T, U> TryFrom for T where
T: From<U>, [src]
impl<T, U> TryFrom for T where
T: From<U>, type Error = !
try_from)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>try_from)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized, [src]
impl<T> Borrow for T where
T: ?Sized, impl<T> Any for T where
T: 'static + ?Sized, [src]
impl<T> Any for T where
T: 'static + ?Sized, fn get_type_id(&self) -> TypeId[src]
fn get_type_id(&self) -> TypeId🔬 This is a nightly-only experimental API. (get_type_id)
this method will likely be replaced by an associated static
Gets the TypeId of self. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
impl<T, U> TryInto for T where
U: TryFrom<T>, type Error = <U as TryFrom<T>>::Error
try_from)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>try_from)Performs the conversion.
impl<T> BorrowMut for T where
T: ?Sized, [src]
impl<T> BorrowMut for T where
T: ?Sized, fn borrow_mut(&mut self) -> &mut T[src]
fn borrow_mut(&mut self) -> &mut TMutably borrows from an owned value. Read more
impl<W> WriteBytesExt for W where
W: Write + ?Sized,
impl<W> WriteBytesExt for W where
W: Write + ?Sized, fn write_u8(&mut self, n: u8) -> Result<(), Error>
fn write_u8(&mut self, n: u8) -> Result<(), Error>Writes an unsigned 8 bit integer to the underlying writer. Read more
fn write_i8(&mut self, n: i8) -> Result<(), Error>
fn write_i8(&mut self, n: i8) -> Result<(), Error>Writes a signed 8 bit integer to the underlying writer. Read more
fn write_u16<T>(&mut self, n: u16) -> Result<(), Error> where
T: ByteOrder,
fn write_u16<T>(&mut self, n: u16) -> Result<(), Error> where
T: ByteOrder, Writes an unsigned 16 bit integer to the underlying writer. Read more
fn write_i16<T>(&mut self, n: i16) -> Result<(), Error> where
T: ByteOrder,
fn write_i16<T>(&mut self, n: i16) -> Result<(), Error> where
T: ByteOrder, Writes a signed 16 bit integer to the underlying writer. Read more
fn write_u24<T>(&mut self, n: u32) -> Result<(), Error> where
T: ByteOrder,
fn write_u24<T>(&mut self, n: u32) -> Result<(), Error> where
T: ByteOrder, Writes an unsigned 24 bit integer to the underlying writer. Read more
fn write_i24<T>(&mut self, n: i32) -> Result<(), Error> where
T: ByteOrder,
fn write_i24<T>(&mut self, n: i32) -> Result<(), Error> where
T: ByteOrder, Writes a signed 24 bit integer to the underlying writer. Read more
fn write_u32<T>(&mut self, n: u32) -> Result<(), Error> where
T: ByteOrder,
fn write_u32<T>(&mut self, n: u32) -> Result<(), Error> where
T: ByteOrder, Writes an unsigned 32 bit integer to the underlying writer. Read more
fn write_i32<T>(&mut self, n: i32) -> Result<(), Error> where
T: ByteOrder,
fn write_i32<T>(&mut self, n: i32) -> Result<(), Error> where
T: ByteOrder, Writes a signed 32 bit integer to the underlying writer. Read more
fn write_u48<T>(&mut self, n: u64) -> Result<(), Error> where
T: ByteOrder,
fn write_u48<T>(&mut self, n: u64) -> Result<(), Error> where
T: ByteOrder, Writes an unsigned 48 bit integer to the underlying writer. Read more
fn write_i48<T>(&mut self, n: i64) -> Result<(), Error> where
T: ByteOrder,
fn write_i48<T>(&mut self, n: i64) -> Result<(), Error> where
T: ByteOrder, Writes a signed 48 bit integer to the underlying writer. Read more
fn write_u64<T>(&mut self, n: u64) -> Result<(), Error> where
T: ByteOrder,
fn write_u64<T>(&mut self, n: u64) -> Result<(), Error> where
T: ByteOrder, Writes an unsigned 64 bit integer to the underlying writer. Read more
fn write_i64<T>(&mut self, n: i64) -> Result<(), Error> where
T: ByteOrder,
fn write_i64<T>(&mut self, n: i64) -> Result<(), Error> where
T: ByteOrder, Writes a signed 64 bit integer to the underlying writer. Read more
fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder,
fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, Writes an unsigned n-bytes integer to the underlying writer. Read more
fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder,
fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, Writes a signed n-bytes integer to the underlying writer. Read more
fn write_f32<T>(&mut self, n: f32) -> Result<(), Error> where
T: ByteOrder,
fn write_f32<T>(&mut self, n: f32) -> Result<(), Error> where
T: ByteOrder, Writes a IEEE754 single-precision (4 bytes) floating point number to the underlying writer. Read more
fn write_f64<T>(&mut self, n: f64) -> Result<(), Error> where
T: ByteOrder,
fn write_f64<T>(&mut self, n: f64) -> Result<(), Error> where
T: ByteOrder, Writes a IEEE754 double-precision (8 bytes) floating point number to the underlying writer. Read more
impl<W> WriteBytesExt for W where
W: Write + ?Sized, [src]
impl<W> WriteBytesExt for W where
W: Write + ?Sized, fn write_u8(&mut self, n: u8) -> Result<(), Error>[src]
fn write_u8(&mut self, n: u8) -> Result<(), Error>Writes an unsigned 8 bit integer to the underlying writer. Read more
fn write_i8(&mut self, n: i8) -> Result<(), Error>[src]
fn write_i8(&mut self, n: i8) -> Result<(), Error>Writes a signed 8 bit integer to the underlying writer. Read more
fn write_u16<T>(&mut self, n: u16) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_u16<T>(&mut self, n: u16) -> Result<(), Error> where
T: ByteOrder, Writes an unsigned 16 bit integer to the underlying writer.
fn write_i16<T>(&mut self, n: i16) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_i16<T>(&mut self, n: i16) -> Result<(), Error> where
T: ByteOrder, Writes a signed 16 bit integer to the underlying writer.
fn write_u32<T>(&mut self, n: u32) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_u32<T>(&mut self, n: u32) -> Result<(), Error> where
T: ByteOrder, Writes an unsigned 32 bit integer to the underlying writer.
fn write_i32<T>(&mut self, n: i32) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_i32<T>(&mut self, n: i32) -> Result<(), Error> where
T: ByteOrder, Writes a signed 32 bit integer to the underlying writer.
fn write_u64<T>(&mut self, n: u64) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_u64<T>(&mut self, n: u64) -> Result<(), Error> where
T: ByteOrder, Writes an unsigned 64 bit integer to the underlying writer.
fn write_i64<T>(&mut self, n: i64) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_i64<T>(&mut self, n: i64) -> Result<(), Error> where
T: ByteOrder, Writes a signed 64 bit integer to the underlying writer.
fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, Writes an unsigned n-bytes integer to the underlying writer. Read more
fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, Writes a signed n-bytes integer to the underlying writer. Read more
fn write_f32<T>(&mut self, n: f32) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_f32<T>(&mut self, n: f32) -> Result<(), Error> where
T: ByteOrder, Writes a IEEE754 single-precision (4 bytes) floating point number to the underlying writer. Read more
fn write_f64<T>(&mut self, n: f64) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_f64<T>(&mut self, n: f64) -> Result<(), Error> where
T: ByteOrder, Writes a IEEE754 double-precision (8 bytes) floating point number to the underlying writer. Read more
impl<T> TWriteTransport for T where
T: Write,
impl<T> TWriteTransport for T where
T: Write, impl<Inner> VarIntWriter for Inner where
Inner: Write,
impl<Inner> VarIntWriter for Inner where
Inner: Write, fn write_varint<VI>(&mut self, n: VI) -> Result<usize, Error> where
VI: VarInt,
fn write_varint<VI>(&mut self, n: VI) -> Result<usize, Error> where
VI: VarInt, impl<W> FixedIntWriter for W where
W: Write,
impl<W> FixedIntWriter for W where
W: Write, fn write_fixedint<FI>(&mut self, n: FI) -> Result<usize, Error> where
FI: FixedInt,
fn write_fixedint<FI>(&mut self, n: FI) -> Result<usize, Error> where
FI: FixedInt, impl<T, U> TryInto for T where
U: TryFrom<T>,
impl<T, U> TryInto for T where
U: TryFrom<T>, impl<E> SpecializationError for E[src]
impl<E> SpecializationError for Efn not_found<S, T>(trait_name: &'static str, method_name: &'static str) -> E where
T: ?Sized, [src]
fn not_found<S, T>(trait_name: &'static str, method_name: &'static str) -> E where
T: ?Sized, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Create an error for a missing method specialization. Defaults to panicking with type, trait & method names. S is the encoder/decoder state type, T is the type being encoded/decoded, and the arguments are the names of the trait and method that should've been overridden. Read more
impl<T> Erased for T[src]
impl<T> Erased for Timpl<T> Send for T where
T: ?Sized, [src]
impl<T> Send for T where
T: ?Sized, impl<T> Sync for T where
T: ?Sized, [src]
impl<T> Sync for T where
T: ?Sized, impl<W> WriteBytesExt for W where
W: Write + ?Sized, [src]
impl<W> WriteBytesExt for W where
W: Write + ?Sized, fn write_u8(&mut self, n: u8) -> Result<(), Error>[src]
fn write_u8(&mut self, n: u8) -> Result<(), Error>🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes an unsigned 8 bit integer to the underlying writer. Read more
fn write_i8(&mut self, n: i8) -> Result<(), Error>[src]
fn write_i8(&mut self, n: i8) -> Result<(), Error>🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes a signed 8 bit integer to the underlying writer. Read more
fn write_u16<T>(&mut self, n: u16) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_u16<T>(&mut self, n: u16) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes an unsigned 16 bit integer to the underlying writer. Read more
fn write_i16<T>(&mut self, n: i16) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_i16<T>(&mut self, n: i16) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes a signed 16 bit integer to the underlying writer. Read more
fn write_u24<T>(&mut self, n: u32) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_u24<T>(&mut self, n: u32) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes an unsigned 24 bit integer to the underlying writer. Read more
fn write_i24<T>(&mut self, n: i32) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_i24<T>(&mut self, n: i32) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes a signed 24 bit integer to the underlying writer. Read more
fn write_u32<T>(&mut self, n: u32) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_u32<T>(&mut self, n: u32) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes an unsigned 32 bit integer to the underlying writer. Read more
fn write_i32<T>(&mut self, n: i32) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_i32<T>(&mut self, n: i32) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes a signed 32 bit integer to the underlying writer. Read more
fn write_u64<T>(&mut self, n: u64) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_u64<T>(&mut self, n: u64) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes an unsigned 64 bit integer to the underlying writer. Read more
fn write_i64<T>(&mut self, n: i64) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_i64<T>(&mut self, n: i64) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes a signed 64 bit integer to the underlying writer. Read more
fn write_u128<T>(&mut self, n: u128) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_u128<T>(&mut self, n: u128) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes an unsigned 128 bit integer to the underlying writer.
fn write_i128<T>(&mut self, n: i128) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_i128<T>(&mut self, n: i128) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes a signed 128 bit integer to the underlying writer.
fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes an unsigned n-bytes integer to the underlying writer. Read more
fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes a signed n-bytes integer to the underlying writer. Read more
fn write_uint128<T>(&mut self, n: u128, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_uint128<T>(&mut self, n: u128, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes an unsigned n-bytes integer to the underlying writer. Read more
fn write_int128<T>(&mut self, n: i128, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_int128<T>(&mut self, n: i128, nbytes: usize) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes a signed n-bytes integer to the underlying writer. Read more
fn write_f32<T>(&mut self, n: f32) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_f32<T>(&mut self, n: f32) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes a IEEE754 single-precision (4 bytes) floating point number to the underlying writer. Read more
fn write_f64<T>(&mut self, n: f64) -> Result<(), Error> where
T: ByteOrder, [src]
fn write_f64<T>(&mut self, n: f64) -> Result<(), Error> where
T: ByteOrder, 🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Writes a IEEE754 double-precision (8 bytes) floating point number to the underlying writer. Read more
impl<T> Erased for T
impl<T> Erased for T