pub struct ColChunkCursor<U: ColumnarUpdate> { /* private fields */ }Expand description
A cursor over a ColChunk, tracking the current key and value as absolute
indices into the trie’s flat keys.values / vals.values columns.
Trait Implementations§
Source§impl<U: ColumnarUpdate> Cursor for ColChunkCursor<U>
impl<U: ColumnarUpdate> Cursor for ColChunkCursor<U>
Source§type KeyContainer = <ColumnarLayout<U> as Layout>::KeyContainer
type KeyContainer = <ColumnarLayout<U> as Layout>::KeyContainer
Container for update keys.
Source§type Key<'a> = <<ColumnarLayout<U> as Layout>::KeyContainer as BatchContainer>::ReadItem<'a>
type Key<'a> = <<ColumnarLayout<U> as Layout>::KeyContainer as BatchContainer>::ReadItem<'a>
Alias for a borrowed key.
Source§type ValContainer = <ColumnarLayout<U> as Layout>::ValContainer
type ValContainer = <ColumnarLayout<U> as Layout>::ValContainer
Container for update vals.
Source§type Val<'a> = <<ColumnarLayout<U> as Layout>::ValContainer as BatchContainer>::ReadItem<'a>
type Val<'a> = <<ColumnarLayout<U> as Layout>::ValContainer as BatchContainer>::ReadItem<'a>
Alias for a borrowed val.
Source§type ValOwn = <<ColumnarLayout<U> as Layout>::ValContainer as BatchContainer>::Owned
type ValOwn = <<ColumnarLayout<U> as Layout>::ValContainer as BatchContainer>::Owned
Alias for an owned val.
Source§type TimeContainer = <ColumnarLayout<U> as Layout>::TimeContainer
type TimeContainer = <ColumnarLayout<U> as Layout>::TimeContainer
Container for times.
Source§type TimeGat<'a> = <<ColumnarLayout<U> as Layout>::TimeContainer as BatchContainer>::ReadItem<'a>
type TimeGat<'a> = <<ColumnarLayout<U> as Layout>::TimeContainer as BatchContainer>::ReadItem<'a>
Alias for a borrowed time.
Source§type Time = <<ColumnarLayout<U> as Layout>::TimeContainer as BatchContainer>::Owned
type Time = <<ColumnarLayout<U> as Layout>::TimeContainer as BatchContainer>::Owned
Alias for an owned time.
Source§type DiffContainer = <ColumnarLayout<U> as Layout>::DiffContainer
type DiffContainer = <ColumnarLayout<U> as Layout>::DiffContainer
Container for diffs.
Source§type DiffGat<'a> = <<ColumnarLayout<U> as Layout>::DiffContainer as BatchContainer>::ReadItem<'a>
type DiffGat<'a> = <<ColumnarLayout<U> as Layout>::DiffContainer as BatchContainer>::ReadItem<'a>
Alias for a borrowed diff.
Source§type Diff = <<ColumnarLayout<U> as Layout>::DiffContainer as BatchContainer>::Owned
type Diff = <<ColumnarLayout<U> as Layout>::DiffContainer as BatchContainer>::Owned
Alias for an owned diff.
Source§fn key_valid(&self, s: &Self::Storage) -> bool
fn key_valid(&self, s: &Self::Storage) -> bool
Indicates if the current key is valid. Read more
Source§fn val_valid(&self, s: &Self::Storage) -> bool
fn val_valid(&self, s: &Self::Storage) -> bool
Indicates if the current value is valid. Read more
Source§fn key<'a>(&self, s: &'a Self::Storage) -> Self::Key<'a>
fn key<'a>(&self, s: &'a Self::Storage) -> Self::Key<'a>
A reference to the current key. Asserts if invalid.
Source§fn val<'a>(&self, s: &'a Self::Storage) -> Self::Val<'a>
fn val<'a>(&self, s: &'a Self::Storage) -> Self::Val<'a>
A reference to the current value. Asserts if invalid.
Source§fn get_key<'a>(&self, s: &'a Self::Storage) -> Option<Self::Key<'a>>
fn get_key<'a>(&self, s: &'a Self::Storage) -> Option<Self::Key<'a>>
Returns a reference to the current key, if valid.
Source§fn get_val<'a>(&self, s: &'a Self::Storage) -> Option<Self::Val<'a>>
fn get_val<'a>(&self, s: &'a Self::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,
s: &Self::Storage,
logic: L,
)
fn map_times<L: FnMut(Self::TimeGat<'_>, Self::DiffGat<'_>)>( &mut self, s: &Self::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, s: &Self::Storage, key: Self::Key<'_>)
fn seek_key(&mut self, s: &Self::Storage, key: Self::Key<'_>)
Advances the cursor to the specified key.
Source§fn seek_val(&mut self, s: &Self::Storage, val: Self::Val<'_>)
fn seek_val(&mut self, s: &Self::Storage, val: Self::Val<'_>)
Advances the cursor to the specified value.
Source§fn rewind_keys(&mut self, s: &Self::Storage)
fn rewind_keys(&mut self, s: &Self::Storage)
Rewinds the cursor to the first key.
Source§fn rewind_vals(&mut self, s: &Self::Storage)
fn rewind_vals(&mut self, s: &Self::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.
Source§impl<U: ColumnarUpdate> WithLayout for ColChunkCursor<U>
impl<U: ColumnarUpdate> WithLayout for ColChunkCursor<U>
Source§type Layout = ColumnarLayout<U>
type Layout = ColumnarLayout<U>
The layout.
Auto Trait Implementations§
impl<U> Freeze for ColChunkCursor<U>
impl<U> RefUnwindSafe for ColChunkCursor<U>where
U: RefUnwindSafe,
impl<U> Send for ColChunkCursor<U>where
U: Send,
impl<U> Sync for ColChunkCursor<U>where
U: Sync,
impl<U> Unpin for ColChunkCursor<U>where
U: Unpin,
impl<U> UnsafeUnpin for ColChunkCursor<U>
impl<U> UnwindSafe for ColChunkCursor<U>where
U: 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.