Struct tidb_query_common::storage::ranges_iter::RangesIterator[][src]

pub struct RangesIterator {
    in_range: bool,
    iter: IntoIter<Range>,
}

An iterator like structure that produces user key ranges.

For each next(), it produces one of the following:

If a new range is returned, caller can then scan unknown amount of key(s) within this new range. The caller must inform the structure so that it will emit a new range next time by calling notify_drained() after current range is drained. Multiple notify_drained() without next() will have no effect.

Fields

in_range: bool

Whether or not we are processing a valid range. If we are not processing a range, or there is no range any more, this field is false.

iter: IntoIter<Range>

Implementations

impl RangesIterator[src]

pub fn new(user_key_ranges: Vec<Range>) -> Self[src]

pub fn next(&mut self) -> IterStatus[src]

Continues iterating.

pub fn notify_drained(&mut self)[src]

Notifies that current range is drained.

Auto Trait Implementations

impl RefUnwindSafe for RangesIterator

impl Send for RangesIterator

impl Sync for RangesIterator

impl Unpin for RangesIterator

impl UnwindSafe for RangesIterator

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> Sealed<T> for T where
    T: ?Sized
[src]

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]