Struct tidb_query_common::storage::ranges_iter::RangesIterator [−][src]
An iterator like structure that produces user key ranges.
For each next()
, it produces one of the following:
- a new range
- a flag indicating continuing last interval range
- a flag indicating that all ranges are consumed
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[src]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> Sealed<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
[src]
T: Send + Sync + UnwindSafe + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,