pub struct EagerVec<V>(/* private fields */);Expand description
Wrapper for computing and storing derived values from source vectors.
EagerVec wraps any StoredVec and provides computation methods to derive and persist
calculated values. Results are stored on disk and automatically recomputed when:
- Source data versions change
- The vector’s computation logic version changes
§Key Features
- Incremental Updates: Only computes missing values, not the entire dataset
- Automatic Versioning: Detects stale data and recomputes automatically
- Batched Writes: Flushes periodically to prevent excessive memory usage
§Common Operations
- Transformations:
compute_transform(),compute_range() - Arithmetic:
compute_add(),compute_subtract(),compute_multiply(),compute_divide() - Moving statistics:
compute_sma(),compute_ema(),compute_sum(),compute_max(),compute_min() - Lookback calculations:
compute_change(),compute_percentage_change()
Implementations§
Source§impl<V> EagerVec<V>where
V: StoredVec,
impl<V> EagerVec<V>where
V: StoredVec,
pub fn compute_sum_of_others<O>( &mut self, max_from: V::I, others: &[&O], exit: &Exit, ) -> Result<()>
pub fn compute_min_of_others<O>( &mut self, max_from: V::I, others: &[&O], exit: &Exit, ) -> Result<()>
pub fn compute_max_of_others<O>( &mut self, max_from: V::I, others: &[&O], exit: &Exit, ) -> Result<()>
Sourcepub fn compute_weighted_average_of_others<W, OW, OV>(
&mut self,
max_from: V::I,
weights: &[&OW],
values: &[&OV],
exit: &Exit,
) -> Result<()>
pub fn compute_weighted_average_of_others<W, OW, OV>( &mut self, max_from: V::I, weights: &[&OW], values: &[&OV], exit: &Exit, ) -> Result<()>
Computes weighted average: sum(weight_i * value_i) / sum(weight_i)
Takes parallel slices of weight and value vecs from multiple sources. For each index, computes the weighted average across all sources. Returns zero if total weight is zero.
pub fn compute_sum_from_indexes<A, B>( &mut self, max_from: V::I, first_indexes: &impl IterableVec<V::I, A>, indexes_count: &impl IterableVec<V::I, B>, source: &impl IterableVec<A, V::T>, exit: &Exit, ) -> Result<()>
pub fn compute_filtered_sum_from_indexes<A, B>( &mut self, max_from: V::I, first_indexes: &impl IterableVec<V::I, A>, indexes_count: &impl IterableVec<V::I, B>, source: &impl IterableVec<A, V::T>, filter: impl FnMut(&V::T) -> bool, exit: &Exit, ) -> Result<()>
pub fn compute_count_from_indexes<A, B>( &mut self, max_from: V::I, first_indexes: &impl IterableVec<V::I, A>, other_to_else: &impl IterableVec<A, B>, exit: &Exit, ) -> Result<()>
pub fn compute_filtered_count_from_indexes<A, B>( &mut self, max_from: V::I, first_indexes: &impl IterableVec<V::I, A>, other_to_else: &impl IterableVec<A, B>, filter: impl FnMut(A) -> bool, exit: &Exit, ) -> Result<()>
Source§impl<V> EagerVec<V>where
V: StoredVec,
impl<V> EagerVec<V>where
V: StoredVec,
pub fn compute_add( &mut self, max_from: V::I, added: &impl IterableVec<V::I, V::T>, adder: &impl IterableVec<V::I, V::T>, exit: &Exit, ) -> Result<()>
pub fn compute_subtract(
&mut self,
max_from: V::I,
subtracted: &impl IterableVec<V::I, V::T>,
subtracter: &impl IterableVec<V::I, V::T>,
exit: &Exit,
) -> Result<()>where
V::T: CheckedSub,
pub fn compute_multiply<A, B>( &mut self, max_from: V::I, multiplied: &impl IterableVec<V::I, A>, multiplier: &impl IterableVec<V::I, B>, exit: &Exit, ) -> Result<()>
pub fn compute_divide<A, B>( &mut self, max_from: V::I, divided: &impl IterableVec<V::I, A>, divider: &impl IterableVec<V::I, B>, exit: &Exit, ) -> Result<()>
pub fn compute_percentage<A, B>( &mut self, max_from: V::I, divided: &impl IterableVec<V::I, A>, divider: &impl IterableVec<V::I, B>, exit: &Exit, ) -> Result<()>
pub fn compute_percentage_difference<A, B>( &mut self, max_from: V::I, divided: &impl IterableVec<V::I, A>, divider: &impl IterableVec<V::I, B>, exit: &Exit, ) -> Result<()>
Source§impl<V> EagerVec<V>where
V: StoredVec,
impl<V> EagerVec<V>where
V: StoredVec,
Sourcepub fn compute_cumulative<S>(
&mut self,
max_from: V::I,
source: &impl IterableVec<V::I, S>,
exit: &Exit,
) -> Result<()>
pub fn compute_cumulative<S>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, S>, exit: &Exit, ) -> Result<()>
Compute cumulative sum from a source vec.
Each value in the result is the sum of all values from the source up to and including that index.
Sourcepub fn compute_cumulative_binary<S1, S2>(
&mut self,
max_from: V::I,
source1: &impl IterableVec<V::I, S1>,
source2: &impl IterableVec<V::I, S2>,
exit: &Exit,
) -> Result<()>
pub fn compute_cumulative_binary<S1, S2>( &mut self, max_from: V::I, source1: &impl IterableVec<V::I, S1>, source2: &impl IterableVec<V::I, S2>, exit: &Exit, ) -> Result<()>
Compute cumulative sum from adding two source vecs element-wise.
Each value in the result is the cumulative sum of source1[i] + source2[i]
for all indices up to and including i.
Sourcepub fn compute_cumulative_transformed_binary<S1, S2, F>(
&mut self,
max_from: V::I,
source1: &impl IterableVec<V::I, S1>,
source2: &impl IterableVec<V::I, S2>,
transform: F,
exit: &Exit,
) -> Result<()>
pub fn compute_cumulative_transformed_binary<S1, S2, F>( &mut self, max_from: V::I, source1: &impl IterableVec<V::I, S1>, source2: &impl IterableVec<V::I, S2>, transform: F, exit: &Exit, ) -> Result<()>
Compute cumulative sum from a custom binary transform of two source vecs.
Each value in the result is the cumulative sum of transform(source1[i], source2[i])
for all indices up to and including i.
Sourcepub fn compute_cumulative_count<S, P>(
&mut self,
max_from: V::I,
source: &impl IterableVec<V::I, S>,
predicate: P,
exit: &Exit,
) -> Result<()>
pub fn compute_cumulative_count<S, P>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, S>, predicate: P, exit: &Exit, ) -> Result<()>
Compute cumulative count of values matching a predicate.
Each value in the result is the count of values from the source up to and including that index where the predicate returns true.
Sourcepub fn compute_rolling_count<S, P>(
&mut self,
max_from: V::I,
source: &impl IterableVec<V::I, S>,
window_size: usize,
predicate: P,
exit: &Exit,
) -> Result<()>
pub fn compute_rolling_count<S, P>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, S>, window_size: usize, predicate: P, exit: &Exit, ) -> Result<()>
Compute rolling count of values matching a predicate within a window.
Sourcepub fn compute_cumulative_count_from<S, P>(
&mut self,
max_from: V::I,
source: &impl IterableVec<V::I, S>,
from: V::I,
predicate: P,
exit: &Exit,
) -> Result<()>
pub fn compute_cumulative_count_from<S, P>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, S>, from: V::I, predicate: P, exit: &Exit, ) -> Result<()>
Compute cumulative count of values matching a predicate, starting from a specific index.
Values before from will be 0. Starting at from, counts values where predicate is true.
Source§impl<V> EagerVec<V>
impl<V> EagerVec<V>
pub fn compute_previous_value<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, len: usize, exit: &Exit, ) -> Result<()>
Sourcepub fn compute_change<A>(
&mut self,
max_from: V::I,
source: &impl IterableVec<V::I, A>,
len: usize,
exit: &Exit,
) -> Result<()>
pub fn compute_change<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, len: usize, exit: &Exit, ) -> Result<()>
Compute N-period change. Converts source values to output type before subtraction to properly handle negative changes (e.g., unsigned source to signed output).
pub fn compute_percentage_change<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, len: usize, exit: &Exit, ) -> Result<()>
pub fn compute_cagr<A>( &mut self, max_from: V::I, percentage_returns: &impl IterableVec<V::I, A>, days: usize, exit: &Exit, ) -> Result<()>
Source§impl<V> EagerVec<V>where
V: StoredVec,
impl<V> EagerVec<V>where
V: StoredVec,
pub fn compute_max<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, window: usize, exit: &Exit, ) -> Result<()>
pub fn compute_min<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, window: usize, exit: &Exit, ) -> Result<()>
pub fn compute_sum<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, window: usize, exit: &Exit, ) -> Result<()>
Sourcepub fn compute_rolling_sum<A>(
&mut self,
max_from: V::I,
window_starts: &impl IterableVec<V::I, V::I>,
values: &impl IterableVec<V::I, A>,
exit: &Exit,
) -> Result<()>
pub fn compute_rolling_sum<A>( &mut self, max_from: V::I, window_starts: &impl IterableVec<V::I, V::I>, values: &impl IterableVec<V::I, A>, exit: &Exit, ) -> Result<()>
Compute rolling sum with variable window starts. For each index i, computes sum of values from window_starts[i] to i (inclusive).
pub fn compute_sma<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, sma: usize, exit: &Exit, ) -> Result<()>
pub fn compute_sma_<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, window: usize, exit: &Exit, min_i: Option<V::I>, ) -> Result<()>
pub fn compute_rolling_median<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, window: usize, exit: &Exit, ) -> Result<()>
pub fn compute_ema<A>( &mut self, max_from: V::I, source: &impl CollectableVec<V::I, A>, ema: usize, exit: &Exit, ) -> Result<()>
pub fn compute_ema_<A>( &mut self, max_from: V::I, source: &impl CollectableVec<V::I, A>, ema: usize, exit: &Exit, min_i: Option<V::I>, ) -> Result<()>
Sourcepub fn compute_rma<A>(
&mut self,
max_from: V::I,
source: &impl CollectableVec<V::I, A>,
period: usize,
exit: &Exit,
) -> Result<()>
pub fn compute_rma<A>( &mut self, max_from: V::I, source: &impl CollectableVec<V::I, A>, period: usize, exit: &Exit, ) -> Result<()>
Compute Wilder’s Running Moving Average (RMA). Uses alpha = 1/period instead of EMA’s 2/(period+1). This is the standard smoothing method for RSI.
Sourcepub fn compute_all_time_high<A>(
&mut self,
max_from: V::I,
source: &impl IterableVec<V::I, A>,
exit: &Exit,
) -> Result<()>
pub fn compute_all_time_high<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, exit: &Exit, ) -> Result<()>
Computes the all time high of a source.
This version is more optimized than compute_max with a window set to usize::MAX.
Sourcepub fn compute_all_time_low<A>(
&mut self,
max_from: V::I,
source: &impl IterableVec<V::I, A>,
exit: &Exit,
) -> Result<()>
pub fn compute_all_time_low<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, exit: &Exit, ) -> Result<()>
Computes the all time low of a source.
This version is more optimized than compute_min with a window set to usize::MAX.
Sourcepub fn compute_all_time_low_<A>(
&mut self,
max_from: V::I,
source: &impl IterableVec<V::I, A>,
exit: &Exit,
exclude_default: bool,
) -> Result<()>
pub fn compute_all_time_low_<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, exit: &Exit, exclude_default: bool, ) -> Result<()>
Computes the all time low of a source.
This version is more optimized than compute_min with a window set to usize::MAX.
Sourcepub fn compute_all_time_high_from<A>(
&mut self,
max_from: V::I,
source: &impl IterableVec<V::I, A>,
from: V::I,
exit: &Exit,
) -> Result<()>
pub fn compute_all_time_high_from<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, from: V::I, exit: &Exit, ) -> Result<()>
Computes the all time high starting from a specific index.
Values before from will be the default value (typically 0).
Sourcepub fn compute_all_time_low_from<A>(
&mut self,
max_from: V::I,
source: &impl IterableVec<V::I, A>,
from: V::I,
exit: &Exit,
) -> Result<()>
pub fn compute_all_time_low_from<A>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, from: V::I, exit: &Exit, ) -> Result<()>
Computes the all time low starting from a specific index.
Values before from will be the default value (typically 0).
pub fn compute_zscore<A, B, C>( &mut self, max_from: V::I, source: &impl IterableVec<V::I, A>, sma: &impl IterableVec<V::I, B>, sd: &impl IterableVec<V::I, C>, exit: &Exit, ) -> Result<()>
Source§impl<V> EagerVec<V>where
V: StoredVec,
impl<V> EagerVec<V>where
V: StoredVec,
pub fn compute_to<F>( &mut self, max_from: V::I, to: usize, version: Version, t: F, exit: &Exit, ) -> Result<()>
pub fn compute_range<A, F>( &mut self, max_from: V::I, other: &impl IterableVec<V::I, A>, t: F, exit: &Exit, ) -> Result<()>
pub fn compute_from_index<A>( &mut self, max_from: V::I, other: &impl IterableVec<V::I, A>, exit: &Exit, ) -> Result<()>
pub fn compute_transform<A, F>( &mut self, max_from: V::I, other: &impl IterableVec<V::I, A>, t: F, exit: &Exit, ) -> Result<()>
pub fn compute_transform2<A, B, F>( &mut self, max_from: V::I, other1: &impl IterableVec<V::I, A>, other2: &impl IterableVec<V::I, B>, t: F, exit: &Exit, ) -> Result<()>
pub fn compute_transform3<A, B, C, F>( &mut self, max_from: V::I, other1: &impl IterableVec<V::I, A>, other2: &impl IterableVec<V::I, B>, other3: &impl IterableVec<V::I, C>, t: F, exit: &Exit, ) -> Result<()>
pub fn compute_transform4<A, B, C, D, F>( &mut self, max_from: V::I, other1: &impl IterableVec<V::I, A>, other2: &impl IterableVec<V::I, B>, other3: &impl IterableVec<V::I, C>, other4: &impl IterableVec<V::I, D>, t: F, exit: &Exit, ) -> Result<()>
pub fn compute_coarser( &mut self, max_from: V::T, other: &impl IterableVec<V::T, V::I>, exit: &Exit, ) -> Result<()>
Trait Implementations§
Source§impl<V> AnyStoredVec for EagerVec<V>where
V: StoredVec,
impl<V> AnyStoredVec for EagerVec<V>where
V: StoredVec,
fn db_path(&self) -> PathBuf
fn region(&self) -> &Region
fn header(&self) -> &Header
fn mut_header(&mut self) -> &mut Header
Source§fn saved_stamped_changes(&self) -> u16
fn saved_stamped_changes(&self) -> u16
Source§fn stored_len(&self) -> usize
fn stored_len(&self) -> usize
Source§fn real_stored_len(&self) -> usize
fn real_stored_len(&self) -> usize
fn serialize_changes(&self) -> Result<Vec<u8>>
Source§fn any_stamped_write_with_changes(&mut self, stamp: Stamp) -> Result<()>
fn any_stamped_write_with_changes(&mut self, stamp: Stamp) -> Result<()>
fn flush(&mut self) -> Result<()>
fn update_stamp(&mut self, stamp: Stamp)
fn stamp(&self) -> Stamp
fn stamped_write(&mut self, stamp: Stamp) -> Result<()>
Source§impl<V> AnyVec for EagerVec<V>where
V: StoredVec,
impl<V> AnyVec for EagerVec<V>where
V: StoredVec,
fn version(&self) -> Version
fn name(&self) -> &str
fn len(&self) -> usize
Source§fn index_type_to_string(&self) -> &'static str
fn index_type_to_string(&self) -> &'static str
Source§fn value_type_to_size_of(&self) -> usize
fn value_type_to_size_of(&self) -> usize
Source§fn value_type_to_string(&self) -> &'static str
fn value_type_to_string(&self) -> &'static str
Source§fn region_names(&self) -> Vec<String>
fn region_names(&self) -> Vec<String>
fn is_empty(&self) -> bool
Source§fn region_name(&self) -> String
fn region_name(&self) -> String
Source§fn etag(&self, stamp: Stamp, to: Option<i64>) -> String
fn etag(&self, stamp: Stamp, to: Option<i64>) -> String
Source§fn i64_to_usize(&self, i: i64) -> usize
fn i64_to_usize(&self, i: i64) -> usize
Source§impl<V> GenericStoredVec<<V as TypedVec>::I, <V as TypedVec>::T> for EagerVec<V>where
V: StoredVec,
impl<V> GenericStoredVec<<V as TypedVec>::I, <V as TypedVec>::T> for EagerVec<V>where
V: StoredVec,
Source§fn read_value_from_bytes(&self, bytes: &[u8]) -> Result<V::T>
fn read_value_from_bytes(&self, bytes: &[u8]) -> Result<V::T>
Source§fn write_value_to(&self, value: &V::T, buf: &mut Vec<u8>)
fn write_value_to(&self, value: &V::T, buf: &mut Vec<u8>)
Source§fn mut_pushed(&mut self) -> &mut Vec<V::T>
fn mut_pushed(&mut self) -> &mut Vec<V::T>
Source§fn truncate_if_needed(&mut self, index: V::I) -> Result<()>
fn truncate_if_needed(&mut self, index: V::I) -> Result<()>
const SIZE_OF_T: usize = _
Source§fn create_reader(&self) -> Reader
fn create_reader(&self) -> Reader
Source§fn read(&self, index: I, reader: &Reader) -> Result<T>
fn read(&self, index: I, reader: &Reader) -> Result<T>
Source§fn read_once(&self, index: I) -> Result<T>
fn read_once(&self, index: I) -> Result<T>
read() with a reused reader.Source§fn read_at(&self, index: usize, reader: &Reader) -> Result<T>
fn read_at(&self, index: usize, reader: &Reader) -> Result<T>
Source§fn write_values_to(&self, values: &[T], buf: &mut Vec<u8>)
fn write_values_to(&self, values: &[T], buf: &mut Vec<u8>)
Source§fn read_at_once(&self, index: usize) -> Result<T>
fn read_at_once(&self, index: usize) -> Result<T>
read_at() with a reused reader.Source§fn read_unwrap(&self, index: I, reader: &Reader) -> T
fn read_unwrap(&self, index: I, reader: &Reader) -> T
Source§fn read_unwrap_once(&self, index: I) -> T
fn read_unwrap_once(&self, index: I) -> T
read_unwrap() with a reused reader.Source§fn read_at_unwrap(&self, index: usize, reader: &Reader) -> T
fn read_at_unwrap(&self, index: usize, reader: &Reader) -> T
Source§fn read_at_unwrap_once(&self, index: usize) -> T
fn read_at_unwrap_once(&self, index: usize) -> T
read_at_unwrap() with a reused reader.Source§fn get_pushed_or_read(&self, index: I, reader: &Reader) -> Result<Option<T>>
fn get_pushed_or_read(&self, index: I, reader: &Reader) -> Result<Option<T>>
Source§fn get_pushed_or_read_once(&self, index: I) -> Result<Option<T>>
fn get_pushed_or_read_once(&self, index: I) -> Result<Option<T>>
get_pushed_or_read() with a reused reader.Source§fn get_pushed_or_read_unwrap(&self, index: I, reader: &Reader) -> T
fn get_pushed_or_read_unwrap(&self, index: I, reader: &Reader) -> T
Source§fn get_pushed_or_read_unwrap_once(&self, index: I) -> T
fn get_pushed_or_read_unwrap_once(&self, index: I) -> T
get_pushed_or_read_unwrap() with a reused reader.Source§fn get_pushed_or_read_at(
&self,
index: usize,
reader: &Reader,
) -> Result<Option<T>>
fn get_pushed_or_read_at( &self, index: usize, reader: &Reader, ) -> Result<Option<T>>
Source§fn get_pushed_or_read_at_once(&self, index: usize) -> Result<Option<T>>
fn get_pushed_or_read_at_once(&self, index: usize) -> Result<Option<T>>
get_pushed_or_read_at() with a reused reader.Source§fn get_pushed_or_read_at_unwrap(&self, index: usize, reader: &Reader) -> T
fn get_pushed_or_read_at_unwrap(&self, index: usize, reader: &Reader) -> T
Source§fn get_pushed_or_read_at_unwrap_once(&self, index: usize) -> T
fn get_pushed_or_read_at_unwrap_once(&self, index: usize) -> T
get_pushed_or_read_at_unwrap() with a reused reader.Source§fn get_pushed_at(&self, index: usize, stored_len: usize) -> Option<&T>
fn get_pushed_at(&self, index: usize, stored_len: usize) -> Option<&T>
Source§fn len_(&self) -> usize
fn len_(&self) -> usize
Source§fn pushed_len(&self) -> usize
fn pushed_len(&self) -> usize
Source§fn is_pushed_empty(&self) -> bool
fn is_pushed_empty(&self) -> bool
Source§fn checked_push(&mut self, index: I, value: T) -> Result<()>
fn checked_push(&mut self, index: I, value: T) -> Result<()>
Source§fn checked_push_at(&mut self, index: usize, value: T) -> Result<()>
fn checked_push_at(&mut self, index: usize, value: T) -> Result<()>
Source§fn truncate_push(&mut self, index: I, value: T) -> Result<()>
fn truncate_push(&mut self, index: I, value: T) -> Result<()>
Source§fn truncate_push_at(&mut self, index: usize, value: T) -> Result<()>
fn truncate_push_at(&mut self, index: usize, value: T) -> Result<()>
Source§fn batch_limit_reached(&self) -> bool
fn batch_limit_reached(&self) -> bool
Source§fn fill_to(&mut self, target_len: usize, value: T) -> Result<()>where
T: Copy,
fn fill_to(&mut self, target_len: usize, value: T) -> Result<()>where
T: Copy,
target_len, filling with value.
Batches writes in ~1GB chunks to avoid memory explosion.Source§fn truncate_if_needed_at(&mut self, index: usize) -> Result<()>
fn truncate_if_needed_at(&mut self, index: usize) -> Result<()>
Source§fn truncate_if_needed_with_stamp(
&mut self,
index: I,
stamp: Stamp,
) -> Result<()>
fn truncate_if_needed_with_stamp( &mut self, index: I, stamp: Stamp, ) -> Result<()>
Source§fn reset_unsaved(&mut self)
fn reset_unsaved(&mut self)
Source§fn validate_computed_version_or_reset(
&mut self,
dep_version: Version,
) -> Result<()>
fn validate_computed_version_or_reset( &mut self, dep_version: Version, ) -> Result<()>
Source§fn changes_path(&self) -> PathBuf
fn changes_path(&self) -> PathBuf
Source§fn stamped_write_maybe_with_changes(
&mut self,
stamp: Stamp,
with_changes: bool,
) -> Result<()>
fn stamped_write_maybe_with_changes( &mut self, stamp: Stamp, with_changes: bool, ) -> Result<()>
Source§fn stamped_write_with_changes(&mut self, stamp: Stamp) -> Result<()>
fn stamped_write_with_changes(&mut self, stamp: Stamp) -> Result<()>
Source§fn rollback_before(&mut self, stamp: Stamp) -> Result<Stamp>
fn rollback_before(&mut self, stamp: Stamp) -> Result<Stamp>
Source§fn deserialize_then_undo_changes(&mut self, bytes: &[u8]) -> Result<()>
fn deserialize_then_undo_changes(&mut self, bytes: &[u8]) -> Result<()>
Source§fn vec_region_name(&self) -> String
fn vec_region_name(&self) -> String
Source§impl<V: ImportableVec> ImportableVec for EagerVec<V>
impl<V: ImportableVec> ImportableVec for EagerVec<V>
Source§fn import(db: &Database, name: &str, version: Version) -> Result<Self>
fn import(db: &Database, name: &str, version: Version) -> Result<Self>
Source§fn import_with(options: ImportOptions<'_>) -> Result<Self>
fn import_with(options: ImportOptions<'_>) -> Result<Self>
Source§fn forced_import(db: &Database, name: &str, version: Version) -> Result<Self>
fn forced_import(db: &Database, name: &str, version: Version) -> Result<Self>
Source§fn forced_import_with(options: ImportOptions<'_>) -> Result<Self>
fn forced_import_with(options: ImportOptions<'_>) -> Result<Self>
Source§impl<'a, V> IntoIterator for &'a EagerVec<V>
impl<'a, V> IntoIterator for &'a EagerVec<V>
Auto Trait Implementations§
impl<V> Freeze for EagerVec<V>where
V: Freeze,
impl<V> RefUnwindSafe for EagerVec<V>where
V: RefUnwindSafe,
impl<V> Send for EagerVec<V>where
V: Send,
impl<V> Sync for EagerVec<V>where
V: Sync,
impl<V> Unpin for EagerVec<V>where
V: Unpin,
impl<V> UnwindSafe for EagerVec<V>where
V: UnwindSafe,
Blanket Implementations§
Source§impl<V> AnyCollectableVec for V
impl<V> AnyCollectableVec for V
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<I, T, V> CollectableVec<I, T> for V
impl<I, T, V> CollectableVec<I, T> for V
Source§fn iter_range(
&self,
from: Option<usize>,
to: Option<usize>,
) -> impl Iterator<Item = T>
fn iter_range( &self, from: Option<usize>, to: Option<usize>, ) -> impl Iterator<Item = T>
Source§fn iter_signed_range(
&self,
from: Option<i64>,
to: Option<i64>,
) -> impl Iterator<Item = T>
fn iter_signed_range( &self, from: Option<i64>, to: Option<i64>, ) -> impl Iterator<Item = T>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more