pub enum ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>{
Eager {
vec: EagerVec<I, T>,
deps: Dependencies<I, T, S1I, S1T, S2I, S2T, S3I, S3T>,
},
LazyFrom1(LazyVecFrom1<I, T, S1I, S1T>),
LazyFrom2(LazyVecFrom2<I, T, S1I, S1T, S2I, S2T>),
LazyFrom3(LazyVecFrom3<I, T, S1I, S1T, S2I, S2T, S3I, S3T>),
}Variants§
Eager
LazyFrom1(LazyVecFrom1<I, T, S1I, S1T>)
LazyFrom2(LazyVecFrom2<I, T, S1I, S1T, S2I, S2T>)
LazyFrom3(LazyVecFrom3<I, T, S1I, S1T, S2I, S2T, S3I, S3T>)
Implementations§
Source§impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>where
I: StoredIndex,
T: StoredCompressed,
S1I: StoredIndex,
S1T: StoredRaw,
S2I: StoredIndex,
S2T: StoredRaw,
S3I: StoredIndex,
S3T: StoredRaw,
impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>where
I: StoredIndex,
T: StoredCompressed,
S1I: StoredIndex,
S1T: StoredRaw,
S2I: StoredIndex,
S2T: StoredRaw,
S3I: StoredIndex,
S3T: StoredRaw,
pub fn forced_import_or_init_from_1( db: &Database, name: &str, version: Version, computation: Computation, format: Format, source: AnyBoxedIterableVec<S1I, S1T>, compute: for<'a> fn(I, &mut dyn VecIteratorExtended<I = S1I, T = S1T, Item = S1T>) -> Option<T>, ) -> Result<Self>
pub fn forced_import_or_init_from_1_with( options: ImportOptions<'_>, computation: Computation, format: Format, source: AnyBoxedIterableVec<S1I, S1T>, compute: for<'a> fn(I, &mut dyn VecIteratorExtended<I = S1I, T = S1T, Item = S1T>) -> Option<T>, ) -> Result<Self>
pub fn forced_import_or_init_from_2( db: &Database, name: &str, version: Version, computation: Computation, format: Format, source1: AnyBoxedIterableVec<S1I, S1T>, source2: AnyBoxedIterableVec<S2I, S2T>, compute: for<'a> fn(I, &mut dyn VecIteratorExtended<I = S1I, T = S1T, Item = S1T>, &mut dyn VecIteratorExtended<I = S2I, T = S2T, Item = S2T>) -> Option<T>, ) -> Result<Self>
pub fn forced_import_or_init_from_2_with( options: ImportOptions<'_>, computation: Computation, format: Format, source1: AnyBoxedIterableVec<S1I, S1T>, source2: AnyBoxedIterableVec<S2I, S2T>, compute: for<'a> fn(I, &mut dyn VecIteratorExtended<I = S1I, T = S1T, Item = S1T>, &mut dyn VecIteratorExtended<I = S2I, T = S2T, Item = S2T>) -> Option<T>, ) -> Result<Self>
pub fn forced_import_or_init_from_3( db: &Database, name: &str, version: Version, computation: Computation, format: Format, source1: AnyBoxedIterableVec<S1I, S1T>, source2: AnyBoxedIterableVec<S2I, S2T>, source3: AnyBoxedIterableVec<S3I, S3T>, compute: for<'a> fn(I, &mut dyn VecIteratorExtended<I = S1I, T = S1T, Item = S1T>, &mut dyn VecIteratorExtended<I = S2I, T = S2T, Item = S2T>, &mut dyn VecIteratorExtended<I = S3I, T = S3T, Item = S3T>) -> Option<T>, ) -> Result<Self>
pub fn forced_import_or_init_from_3_with( options: ImportOptions<'_>, computation: Computation, format: Format, source1: AnyBoxedIterableVec<S1I, S1T>, source2: AnyBoxedIterableVec<S2I, S2T>, source3: AnyBoxedIterableVec<S3I, S3T>, compute: for<'a> fn(I, &mut dyn VecIteratorExtended<I = S1I, T = S1T, Item = S1T>, &mut dyn VecIteratorExtended<I = S2I, T = S2T, Item = S2T>, &mut dyn VecIteratorExtended<I = S3I, T = S3T, Item = S3T>) -> Option<T>, ) -> Result<Self>
pub fn compute_if_necessary<T2>( &mut self, max_from: I, len_source: &impl AnyIterableVec<I, T2>, exit: &Exit, ) -> Result<()>
Trait Implementations§
Source§impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> AnyCollectableVec for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>where
I: StoredIndex,
T: StoredCompressed,
S1I: StoredIndex,
S1T: StoredRaw,
S2I: StoredIndex,
S2T: StoredRaw,
S3I: StoredIndex,
S3T: StoredRaw,
impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> AnyCollectableVec for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>where
I: StoredIndex,
T: StoredCompressed,
S1I: StoredIndex,
S1T: StoredRaw,
S2I: StoredIndex,
S2T: StoredRaw,
S3I: StoredIndex,
S3T: StoredRaw,
fn collect_range_json_bytes( &self, from: Option<usize>, to: Option<usize>, ) -> Vec<u8> ⓘ
fn collect_range_string( &self, from: Option<usize>, to: Option<usize>, ) -> Vec<String>
fn range_count(&self, from: Option<i64>, to: Option<i64>) -> usize
fn range_weight(&self, from: Option<i64>, to: Option<i64>) -> usize
Source§impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> AnyIterableVec<I, T> for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>where
I: StoredIndex,
T: StoredCompressed,
S1I: StoredIndex,
S1T: StoredRaw,
S2I: StoredIndex,
S2T: StoredRaw,
S3I: StoredIndex,
S3T: StoredRaw,
impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> AnyIterableVec<I, T> for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>where
I: StoredIndex,
T: StoredCompressed,
S1I: StoredIndex,
S1T: StoredRaw,
S2I: StoredIndex,
S2T: StoredRaw,
S3I: StoredIndex,
S3T: StoredRaw,
fn boxed_iter(&self) -> BoxedVecIterator<'_, I, T>
fn iter(&self) -> BoxedVecIterator<'_, I, T>where
I: StoredIndex,
T: StoredRaw,
Source§impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> AnyVec for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>where
I: StoredIndex,
T: StoredCompressed,
S1I: StoredIndex,
S1T: StoredRaw,
S2I: StoredIndex,
S2T: StoredRaw,
S3I: StoredIndex,
S3T: StoredRaw,
impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> AnyVec for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>where
I: StoredIndex,
T: StoredCompressed,
S1I: StoredIndex,
S1T: StoredRaw,
S2I: StoredIndex,
S2T: StoredRaw,
S3I: StoredIndex,
S3T: StoredRaw,
fn version(&self) -> Version
fn name(&self) -> &str
fn index_type_to_string(&self) -> &'static str
fn len(&self) -> usize
fn value_type_to_size_of(&self) -> usize
fn region_names(&self) -> Vec<String>
fn is_empty(&self) -> bool
fn index_to_name(&self) -> String
fn etag(&self, stamp: Stamp, to: Option<i64>) -> String
fn i64_to_usize(&self, i: i64) -> usize
Source§impl<I: Clone, T: Clone, S1I: Clone, S1T, S2I: Clone, S2T, S3I: Clone, S3T> Clone for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>
impl<I: Clone, T: Clone, S1I: Clone, S1T, S2I: Clone, S2T, S3I: Clone, S3T> Clone for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>
Source§fn clone(&self) -> ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>
fn clone(&self) -> ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a, I, T, S1I, S1T, S2I, S2T, S3I, S3T> IntoIterator for &'a ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>where
I: StoredIndex,
T: StoredCompressed,
S1I: StoredIndex,
S1T: StoredRaw,
S2I: StoredIndex,
S2T: StoredRaw,
S3I: StoredIndex,
S3T: StoredRaw,
impl<'a, I, T, S1I, S1T, S2I, S2T, S3I, S3T> IntoIterator for &'a ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>where
I: StoredIndex,
T: StoredCompressed,
S1I: StoredIndex,
S1T: StoredRaw,
S2I: StoredIndex,
S2T: StoredRaw,
S3I: StoredIndex,
S3T: StoredRaw,
Auto Trait Implementations§
impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> Freeze for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>
impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> !RefUnwindSafe for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>
impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> Send for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>
impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> Sync for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>
impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> Unpin for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>
impl<I, T, S1I, S1T, S2I, S2T, S3I, S3T> !UnwindSafe for ComputedVec<I, T, S1I, S1T, S2I, S2T, S3I, S3T>
Blanket Implementations§
Source§impl<I, T, U> AnyCloneableIterableVec<I, T> for Uwhere
U: 'static + AnyIterableVec<I, T> + Clone,
impl<I, T, U> AnyCloneableIterableVec<I, T> for Uwhere
U: 'static + AnyIterableVec<I, T> + Clone,
fn boxed_clone(&self) -> Box<dyn AnyCloneableIterableVec<I, T>>
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
Mutably borrows from an owned value. Read more
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
fn iter_range( &self, from: Option<usize>, to: Option<usize>, ) -> impl Iterator<Item = T>
fn iter_signed_range( &self, from: Option<i64>, to: Option<i64>, ) -> impl Iterator<Item = T>
fn collect(&self) -> Vec<T>
fn collect_range(&self, from: Option<usize>, to: Option<usize>) -> Vec<T>
fn collect_signed_range(&self, from: Option<i64>, to: Option<i64>) -> Vec<T>
fn collect_range_json_bytes( &self, from: Option<usize>, to: Option<usize>, ) -> Vec<u8> ⓘ
fn collect_range_string( &self, from: Option<usize>, to: Option<usize>, ) -> Vec<String>
fn i64_to_usize_(i: i64, len: usize) -> usize
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>
Converts
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>
Converts
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