pub struct SelectorsCursor {
selectors: VecDeque<RowSelector>,
position: usize,
}Expand description
Cursor for iterating a selector-backed RowSelection
This is best for sparse selections where large contiguous blocks of rows are selected or skipped.
Fields§
§selectors: VecDeque<RowSelector>§position: usizeCurrent absolute offset into the selection
Implementations§
Source§impl SelectorsCursor
impl SelectorsCursor
pub(crate) fn selectors_mut(&mut self) -> &mut VecDeque<RowSelector>
Sourcepub(crate) fn next_selector(&mut self) -> RowSelector
pub(crate) fn next_selector(&mut self) -> RowSelector
Return the next RowSelector
Sourcepub(crate) fn return_selector(&mut self, selector: RowSelector)
pub(crate) fn return_selector(&mut self, selector: RowSelector)
Return a selector to the front, rewinding the position
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SelectorsCursor
impl RefUnwindSafe for SelectorsCursor
impl Send for SelectorsCursor
impl Sync for SelectorsCursor
impl Unpin for SelectorsCursor
impl UnwindSafe for SelectorsCursor
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 more