pub struct CompactSpaceU64Accessor(/* private fields */);
Expand description

Exposes the compact space compressed values as u64.

This allows faster access to the values, as u64 is faster to work with than u128. It also allows to handle u128 values like u64, via the open_u64_lenient as a uniform access interface.

When converting from the internal u64 to u128 compact_to_u128 can be used.

Implementations§

source§

impl CompactSpaceU64Accessor

source

pub fn compact_to_u128(&self, compact: u32) -> u128

Convert a compact space value to u128

Trait Implementations§

source§

impl ColumnValues for CompactSpaceU64Accessor

source§

fn get_val(&self, doc: u32) -> u64

Return the value associated with the given idx. Read more
source§

fn min_value(&self) -> u64

Returns a lower bound for this column of values. Read more
source§

fn max_value(&self) -> u64

Returns an upper bound for this column of values. Read more
source§

fn num_vals(&self) -> u32

The number of values in the column.
source§

fn iter(&self) -> Box<dyn Iterator<Item = u64> + '_>

Returns a iterator over the data
source§

fn get_row_ids_for_value_range( &self, value_range: RangeInclusive<u64>, position_range: Range<u32>, positions: &mut Vec<u32> )

Get the row ids of values which are in the provided value range. Read more
source§

fn get_vals(&self, indexes: &[u32], output: &mut [T])

Allows to push down multiple fetch calls, to avoid dynamic dispatch overhead. Read more
source§

fn get_vals_opt(&self, indexes: &[u32], output: &mut [Option<T>])

Allows to push down multiple fetch calls, to avoid dynamic dispatch overhead. The slightly weird Option<T> in output allows pushdown to full columns. Read more
source§

fn get_range(&self, start: u64, output: &mut [T])

Fills an output buffer with the fast field values associated with the DocId going from start to start + output.len(). Read more

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> Downcast for T
where T: Any,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
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, 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.