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 BaseVecIterator<Item = (S1I, Cow<'a, 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 BaseVecIterator<Item = (S1I, Cow<'a, 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 BaseVecIterator<Item = (S1I, Cow<'a, S1T>)>, &mut dyn BaseVecIterator<Item = (S2I, Cow<'a, 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 BaseVecIterator<Item = (S1I, Cow<'a, S1T>)>, &mut dyn BaseVecIterator<Item = (S2I, Cow<'a, 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 BaseVecIterator<Item = (S1I, Cow<'a, S1T>)>, &mut dyn BaseVecIterator<Item = (S2I, Cow<'a, S2T>)>, &mut dyn BaseVecIterator<Item = (S3I, Cow<'a, 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 BaseVecIterator<Item = (S1I, Cow<'a, S1T>)>, &mut dyn BaseVecIterator<Item = (S2I, Cow<'a, S2T>)>, &mut dyn BaseVecIterator<Item = (S3I, Cow<'a, 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,
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<'a>(&'a self) -> BoxedVecIterator<'a, I, T>where
T: 'a,
fn iter<'a>(&'a self) -> BoxedVecIterator<'a, I, T>where
I: StoredIndex,
T: StoredRaw + 'a,
fn iter_at<'a>(&'a self, i: I) -> BoxedVecIterator<'a, I, T>where
I: StoredIndex,
T: StoredRaw + 'a,
fn iter_at_<'a>(&'a self, i: usize) -> BoxedVecIterator<'a, I, T>where
I: StoredIndex,
T: StoredRaw + 'a,
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 is_empty(&self) -> bool
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 collect(&self) -> Result<Vec<T>>
fn collect_range( &self, from: Option<usize>, to: Option<usize>, ) -> Result<Vec<T>>
fn i64_to_usize_(i: i64, len: usize) -> usize
fn collect_signed_range( &self, from: Option<i64>, to: Option<i64>, ) -> Result<Vec<T>>
fn collect_range_serde_json( &self, from: Option<usize>, to: Option<usize>, ) -> Result<Vec<Value>>
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