pub trait OrderedScan: Sealed + Copy {
type Key: Key;
type Row;
type Iter: Iterator<Item = Self::Row>;
type KeyIter: Iterator<Item = Self::Key>;
// Required methods
fn scan(
self,
start: Bound<Self::Key>,
end: Bound<Self::Key>,
dir: Dir,
) -> Self::Iter;
fn scan_keys(
self,
start: Bound<Self::Key>,
end: Bound<Self::Key>,
dir: Dir,
) -> Self::KeyIter;
fn peek_row_key(row: &Self::Row) -> Self::Key;
}Expand description
Required Associated Types§
type Key: Key
type Row
type Iter: Iterator<Item = Self::Row>
type KeyIter: Iterator<Item = Self::Key>
Required Methods§
Sourcefn scan(
self,
start: Bound<Self::Key>,
end: Bound<Self::Key>,
dir: Dir,
) -> Self::Iter
fn scan( self, start: Bound<Self::Key>, end: Bound<Self::Key>, dir: Dir, ) -> Self::Iter
Takes self by value (TreeScan/MapScan are Copy) so the returned
iterator is not tied to a temporary &Self borrow — required for
Scope::iter(self) fluent chains under a generic S: OrderedScan.
fn scan_keys( self, start: Bound<Self::Key>, end: Bound<Self::Key>, dir: Dir, ) -> Self::KeyIter
Sourcefn peek_row_key(row: &Self::Row) -> Self::Key
fn peek_row_key(row: &Self::Row) -> Self::Key
Key of row without consuming it — used by pagination before handing the row to a closure.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".