Skip to main content

AnyVec

Trait AnyVec 

Source
pub trait AnyVec: Send + Sync {
    // Required methods
    fn version(&self) -> Version;
    fn name(&self) -> &str;
    fn len(&self) -> usize;
    fn index_type_to_string(&self) -> &'static str;
    fn region_names(&self) -> Vec<String>;
    fn value_type_to_size_of(&self) -> usize;
    fn value_type_to_string(&self) -> &'static str;

    // Provided methods
    fn is_empty(&self) -> bool { ... }
    fn region_name(&self) -> String { ... }
    fn etag(&self, stamp: Stamp, to: Option<i64>) -> String { ... }
    fn i64_to_usize(&self, i: i64) -> usize { ... }
}
Expand description

Common trait for all vectors providing metadata and utility methods.

Required Methods§

Source

fn version(&self) -> Version

Source

fn name(&self) -> &str

Source

fn len(&self) -> usize

Source

fn index_type_to_string(&self) -> &'static str

Returns the string representation of the index type.

Source

fn region_names(&self) -> Vec<String>

Returns the list of region names used by this vector.

Source

fn value_type_to_size_of(&self) -> usize

Returns the size in bytes of the value type.

Source

fn value_type_to_string(&self) -> &'static str

Returns the short type name of the value type (e.g., “Sats”, “StoredF64”).

Provided Methods§

Source

fn is_empty(&self) -> bool

Source

fn region_name(&self) -> String

Returns the combined name of the vector.

Source

fn etag(&self, stamp: Stamp, to: Option<i64>) -> String

Generates an ETag for this vector based on stamp and optional end index.

Source

fn i64_to_usize(&self, i: i64) -> usize

Converts an i64 index to usize, supporting negative indexing (Python-style).

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<I, O, S1I, S2T, S1T, Strat> AnyVec for LazyAggVec<I, O, S1I, S2T, S1T, Strat>
where I: VecIndex, O: VecValue, S1I: VecIndex, S2T: VecValue, S1T: VecValue, Strat: 'static,

Source§

impl<I, S, T, Op> AnyVec for LazyDeltaVec<I, S, T, Op>
where I: VecIndex, S: VecValue, T: VecValue, Op: DeltaOp<S, T>,

Source§

impl<I, T, S1I, S1T> AnyVec for LazyVec<I, T, S1I, S1T>
where I: VecIndex, T: VecValue, S1I: VecIndex, S1T: VecValue,

Source§

impl<I, T, S> AnyVec for ReadOnlyCompressedVec<I, T, S>

Source§

impl<I, T, S> AnyVec for ReadOnlyRawVec<I, T, S>
where I: VecIndex, T: VecValue, S: RawStrategy<T>,

Source§

impl<I, T, S> AnyVec for ReadWriteRawVec<I, T, S>
where I: VecIndex, T: VecValue, S: RawStrategy<T>,

Source§

impl<I, T> AnyVec for BytesVec<I, T>
where I: VecIndex, T: BytesVecValue,

Source§

impl<I, T> AnyVec for LZ4Vec<I, T>
where I: VecIndex, T: LZ4VecValue,

Source§

impl<I, T> AnyVec for PcoVec<I, T>
where I: VecIndex, T: PcoVecValue,

Source§

impl<I, T> AnyVec for ZeroCopyVec<I, T>

Source§

impl<I, T> AnyVec for ZstdVec<I, T>
where I: VecIndex, T: ZstdVecValue,

Source§

impl<V: TypedVec> AnyVec for CachedVec<V>

Source§

impl<V> AnyVec for EagerVec<V>
where V: StoredVec,