Trait RustIteratorBuilder

Source
pub trait RustIteratorBuilder:
    Send
    + Sync
    + 'static {
    type Iterable: Send + Sync;
    type Direction: HummockIteratorDirection;
    type RewindIter<'a>: Iterator<Item = (TableKey<&'a [u8]>, HummockValue<&'a [u8]>)> + Send + Sync + 'a;
    type SeekIter<'a>: Iterator<Item = (TableKey<&'a [u8]>, HummockValue<&'a [u8]>)> + Send + Sync + 'a;

    // Required methods
    fn seek<'a>(
        iterable: &'a Self::Iterable,
        seek_key: TableKey<&[u8]>,
    ) -> Self::SeekIter<'a>;
    fn rewind(iterable: &Self::Iterable) -> Self::RewindIter<'_>;
}

Required Associated Types§

Source

type Iterable: Send + Sync

Source

type Direction: HummockIteratorDirection

Source

type RewindIter<'a>: Iterator<Item = (TableKey<&'a [u8]>, HummockValue<&'a [u8]>)> + Send + Sync + 'a

Source

type SeekIter<'a>: Iterator<Item = (TableKey<&'a [u8]>, HummockValue<&'a [u8]>)> + Send + Sync + 'a

Required Methods§

Source

fn seek<'a>( iterable: &'a Self::Iterable, seek_key: TableKey<&[u8]>, ) -> Self::SeekIter<'a>

Source

fn rewind(iterable: &Self::Iterable) -> Self::RewindIter<'_>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl RustIteratorBuilder for MemTableIteratorBuilder

Source§

type Direction = Forward

Source§

type Iterable = BTreeMap<TableKey<Bytes>, KeyOp>

Source§

type RewindIter<'a> = impl Iterator<Item = (TableKey<&'a [u8]>, HummockValue<&'a [u8]>)> + Send + 'a

Source§

type SeekIter<'a> = impl Iterator<Item = (TableKey<&'a [u8]>, HummockValue<&'a [u8]>)> + Send + 'a

Source§

impl RustIteratorBuilder for MemTableRevIteratorBuilder

Source§

type Direction = Backward

Source§

type Iterable = BTreeMap<TableKey<Bytes>, KeyOp>

Source§

type RewindIter<'a> = impl Iterator<Item = (TableKey<&'a [u8]>, HummockValue<&'a [u8]>)> + Send + 'a

Source§

type SeekIter<'a> = impl Iterator<Item = (TableKey<&'a [u8]>, HummockValue<&'a [u8]>)> + Send + 'a