Struct parquet::file::metadata::LevelHistogram

source ·
pub struct LevelHistogram { /* private fields */ }
Expand description

Histograms for repetition and definition levels.

Each histogram is a vector of length max_level + 1. The value at index i is the number of values at level i.

For example, vec[0] is the number of rows with level 0, vec[1] is the number of rows with level 1, and so on.

Implementations§

source§

impl LevelHistogram

source

pub fn try_new(max_level: i16) -> Option<Self>

Creates a new level histogram data.

Length will be max_level + 1.

Returns None when max_level == 0 (because histograms are not necessary in this case)

source

pub fn values(&self) -> &[i64]

Returns a reference to the the histogram’s values.

source

pub fn into_inner(self) -> Vec<i64>

Return the inner vector, consuming self

source

pub fn get(&self, index: usize) -> Option<i64>

Returns the histogram value at the given index.

The value of i is the number of values with level i. For example, get(1) returns the number of values with level 1.

Returns None if the index is out of bounds.

source

pub fn add(&mut self, other: &Self)

Adds the values from the other histogram to this histogram

§Panics

If the histograms have different lengths

source

pub fn len(&self) -> usize

return the length of the histogram

source

pub fn is_empty(&self) -> bool

returns if the histogram is empty

source

pub fn reset(&mut self)

Sets the values of all histogram levels to 0.

source

pub fn update_from_levels(&mut self, levels: &[i16])

Updates histogram values using provided repetition levels

§Panics

if any of the levels is greater than the length of the histogram ( the argument supplied to Self::try_new)

Trait Implementations§

source§

impl Clone for LevelHistogram

source§

fn clone(&self) -> LevelHistogram

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for LevelHistogram

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for LevelHistogram

source§

fn default() -> LevelHistogram

Returns the “default value” for a type. Read more
source§

impl From<LevelHistogram> for Vec<i64>

source§

fn from(value: LevelHistogram) -> Self

Converts to this type from the input type.
source§

impl From<Vec<i64>> for LevelHistogram

source§

fn from(inner: Vec<i64>) -> Self

Converts to this type from the input type.
source§

impl Hash for LevelHistogram

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for LevelHistogram

source§

fn eq(&self, other: &LevelHistogram) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for LevelHistogram

source§

impl StructuralPartialEq for LevelHistogram

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,