pub struct CursorList<C> { /* private fields */ }Expand description
Provides a cursor interface over a list of cursors.
The CursorList tracks the indices of cursors with the minimum key, and the the indices of cursors with
the minimum key and minimum value. It performs no clever management of these sets otherwise.
Implementations§
Trait Implementations§
Source§impl<C: Cursor> Cursor for CursorList<C>
impl<C: Cursor> Cursor for CursorList<C>
Source§type KeyContainer = <C as Cursor>::KeyContainer
type KeyContainer = <C as Cursor>::KeyContainer
Container for update keys.
Source§type ValContainer = <C as Cursor>::ValContainer
type ValContainer = <C as Cursor>::ValContainer
Container for update vals.
Source§type TimeContainer = <C as Cursor>::TimeContainer
type TimeContainer = <C as Cursor>::TimeContainer
Container for times.
Source§type DiffContainer = <C as Cursor>::DiffContainer
type DiffContainer = <C as Cursor>::DiffContainer
Container for diffs.
Source§fn key_valid(&self, _storage: &Vec<C::Storage>) -> bool
fn key_valid(&self, _storage: &Vec<C::Storage>) -> bool
Indicates if the current key is valid. Read more
Source§fn val_valid(&self, _storage: &Vec<C::Storage>) -> bool
fn val_valid(&self, _storage: &Vec<C::Storage>) -> bool
Indicates if the current value is valid. Read more
Source§fn key<'a>(&self, storage: &'a Vec<C::Storage>) -> Self::Key<'a>
fn key<'a>(&self, storage: &'a Vec<C::Storage>) -> Self::Key<'a>
A reference to the current key. Asserts if invalid.
Source§fn val<'a>(&self, storage: &'a Vec<C::Storage>) -> Self::Val<'a>
fn val<'a>(&self, storage: &'a Vec<C::Storage>) -> Self::Val<'a>
A reference to the current value. Asserts if invalid.
Source§fn get_key<'a>(&self, storage: &'a Vec<C::Storage>) -> Option<Self::Key<'a>>
fn get_key<'a>(&self, storage: &'a Vec<C::Storage>) -> Option<Self::Key<'a>>
Returns a reference to the current key, if valid.
Source§fn get_val<'a>(&self, storage: &'a Vec<C::Storage>) -> Option<Self::Val<'a>>
fn get_val<'a>(&self, storage: &'a Vec<C::Storage>) -> Option<Self::Val<'a>>
Returns a reference to the current value, if valid.
Source§fn map_times<L: FnMut(Self::TimeGat<'_>, Self::DiffGat<'_>)>(
&mut self,
storage: &Vec<C::Storage>,
logic: L,
)
fn map_times<L: FnMut(Self::TimeGat<'_>, Self::DiffGat<'_>)>( &mut self, storage: &Vec<C::Storage>, logic: L, )
Applies
logic to each pair of time and difference. Intended for mutation of the
closure’s scope.Source§fn seek_key(&mut self, storage: &Vec<C::Storage>, key: Self::Key<'_>)
fn seek_key(&mut self, storage: &Vec<C::Storage>, key: Self::Key<'_>)
Advances the cursor to the specified key.
Source§fn seek_val(&mut self, storage: &Vec<C::Storage>, val: Self::Val<'_>)
fn seek_val(&mut self, storage: &Vec<C::Storage>, val: Self::Val<'_>)
Advances the cursor to the specified value.
Source§fn rewind_keys(&mut self, storage: &Vec<C::Storage>)
fn rewind_keys(&mut self, storage: &Vec<C::Storage>)
Rewinds the cursor to the first key.
Source§fn rewind_vals(&mut self, storage: &Vec<C::Storage>)
fn rewind_vals(&mut self, storage: &Vec<C::Storage>)
Rewinds the cursor to the first value for current key.
Source§fn owned_time(time: Self::TimeGat<'_>) -> Self::Time
fn owned_time(time: Self::TimeGat<'_>) -> Self::Time
Construct an owned time from a reference.
Source§fn owned_diff(diff: Self::DiffGat<'_>) -> Self::Diff
fn owned_diff(diff: Self::DiffGat<'_>) -> Self::Diff
Construct an owned diff from a reference.
Source§fn clone_time_onto(time: Self::TimeGat<'_>, onto: &mut Self::Time)
fn clone_time_onto(time: Self::TimeGat<'_>, onto: &mut Self::Time)
Clones a reference time onto an owned time.
Auto Trait Implementations§
impl<C> Freeze for CursorList<C>
impl<C> RefUnwindSafe for CursorList<C>where
C: RefUnwindSafe,
impl<C> Send for CursorList<C>where
C: Send,
impl<C> Sync for CursorList<C>where
C: Sync,
impl<C> Unpin for CursorList<C>where
C: Unpin,
impl<C> UnsafeUnpin for CursorList<C>
impl<C> UnwindSafe for CursorList<C>where
C: UnwindSafe,
Blanket Implementations§
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> 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 moreSource§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
Source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign, for types that do not implement AddAssign.