pub struct ZeroMapIterView<'a, K, const V: usize, T, H = NoHook, D = Bitcask>where
K: Key + Send + Sync + Hash + Eq,
T: Copy + IntoBytes + FromBytes + Immutable,
H: TypedWriteHook<K, T>,
D: Durability,{ /* private fields */ }Expand description
View over an iterable ZeroMap; exposes ordered iteration over (K, T)
entries and cheap keys-only iteration. Obtained via ZeroMap::iter_view.
Implementations§
Source§impl<K, const V: usize, T, H, D> ZeroMapIterView<'_, K, V, T, H, D>
impl<K, const V: usize, T, H, D> ZeroMapIterView<'_, K, V, T, H, D>
Sourcepub fn iter(&self) -> impl Iterator<Item = (K, T)> + '_
pub fn iter(&self) -> impl Iterator<Item = (K, T)> + '_
Full ordered scan in the collection’s configured direction.
Sourcepub fn range(&self, start: &K, end: &K) -> impl Iterator<Item = (K, T)> + '_
pub fn range(&self, start: &K, end: &K) -> impl Iterator<Item = (K, T)> + '_
Iterate entries in [start, end) — start inclusive, end exclusive.
Sourcepub fn range_bounds(
&self,
start: Bound<&K>,
end: Bound<&K>,
) -> impl Iterator<Item = (K, T)> + '_
pub fn range_bounds( &self, start: Bound<&K>, end: Bound<&K>, ) -> impl Iterator<Item = (K, T)> + '_
Iterate entries in range defined by start and end bounds.
Sourcepub fn prefix_iter(&self, prefix: &[u8]) -> impl Iterator<Item = (K, T)> + '_
pub fn prefix_iter(&self, prefix: &[u8]) -> impl Iterator<Item = (K, T)> + '_
Iterate entries whose keys start with prefix.
Sourcepub fn paginate(&self, after: Option<&K>, limit: usize) -> Page<K, T>
pub fn paginate(&self, after: Option<&K>, limit: usize) -> Page<K, T>
Keyset pagination in the collection’s configured direction.
Sourcepub fn keys(&self) -> impl Iterator<Item = K> + '_
pub fn keys(&self) -> impl Iterator<Item = K> + '_
Full ordered keys-only scan — no value materialized.
Sourcepub fn keys_range(&self, start: &K, end: &K) -> impl Iterator<Item = K> + '_
pub fn keys_range(&self, start: &K, end: &K) -> impl Iterator<Item = K> + '_
Keys-only iteration over [start, end).
Sourcepub fn keys_range_bounds(
&self,
start: Bound<&K>,
end: Bound<&K>,
) -> impl Iterator<Item = K> + '_
pub fn keys_range_bounds( &self, start: Bound<&K>, end: Bound<&K>, ) -> impl Iterator<Item = K> + '_
Keys-only iteration over a bounded range.
Sourcepub fn keys_prefix(&self, prefix: &[u8]) -> impl Iterator<Item = K> + '_
pub fn keys_prefix(&self, prefix: &[u8]) -> impl Iterator<Item = K> + '_
Keys-only iteration over keys starting with prefix.
Sourcepub fn keys_paginate(&self, after: Option<&K>, limit: usize) -> KeyPage<K>
pub fn keys_paginate(&self, after: Option<&K>, limit: usize) -> KeyPage<K>
Keys-only pagination — cheap, materializes no values.
Sourcepub fn retain(&self, f: impl FnMut(&K, &T) -> bool) -> DbResult<()>
pub fn retain(&self, f: impl FnMut(&K, &T) -> bool) -> DbResult<()>
Keep entries where f returns true; delete the rest via
ZeroMap::compare_delete using the value observed during iteration.
Not atomic across the collection; a genuine storage error aborts the scan
and is returned. Concurrent value/key changes (CasMismatch/KeyNotFound)
are skipped.