pub struct Cursor<'a, K>where
K: 'a,{ /* private fields */ }btree_cursors)http and grpc and protobuf only.Expand description
A cursor over a BTreeSet.
A Cursor is like an iterator, except that it can freely seek back-and-forth.
Cursors always point to a gap between two elements in the set, and can operate on the two immediately adjacent elements.
A Cursor is created with the BTreeSet::lower_bound and BTreeSet::upper_bound methods.
Implementations§
Source§impl<'a, K> Cursor<'a, K>
impl<'a, K> Cursor<'a, K>
Sourcepub fn next(&mut self) -> Option<&'a K>
🔬This is a nightly-only experimental API. (btree_cursors)Available on crate feature rustls and crate feature std and non-no_global_oom_handling only.
pub fn next(&mut self) -> Option<&'a K>
btree_cursors)rustls and crate feature std and non-no_global_oom_handling only.Advances the cursor to the next gap, returning the element that it moved over.
If the cursor is already at the end of the set then None is returned
and the cursor is not moved.
Sourcepub fn prev(&mut self) -> Option<&'a K>
🔬This is a nightly-only experimental API. (btree_cursors)Available on crate feature rustls and crate feature std and non-no_global_oom_handling only.
pub fn prev(&mut self) -> Option<&'a K>
btree_cursors)rustls and crate feature std and non-no_global_oom_handling only.Advances the cursor to the previous gap, returning the element that it moved over.
If the cursor is already at the start of the set then None is returned
and the cursor is not moved.
Sourcepub fn peek_next(&self) -> Option<&'a K>
🔬This is a nightly-only experimental API. (btree_cursors)Available on crate feature rustls and crate feature std and non-no_global_oom_handling only.
pub fn peek_next(&self) -> Option<&'a K>
btree_cursors)rustls and crate feature std and non-no_global_oom_handling only.Returns a reference to next element without moving the cursor.
If the cursor is at the end of the set then None is returned
Sourcepub fn peek_prev(&self) -> Option<&'a K>
🔬This is a nightly-only experimental API. (btree_cursors)Available on crate feature rustls and crate feature std and non-no_global_oom_handling only.
pub fn peek_prev(&self) -> Option<&'a K>
btree_cursors)rustls and crate feature std and non-no_global_oom_handling only.Returns a reference to the previous element without moving the cursor.
If the cursor is at the start of the set then None is returned.
Trait Implementations§
Auto Trait Implementations§
impl<'a, K> Freeze for Cursor<'a, K>
impl<'a, K> RefUnwindSafe for Cursor<'a, K>where
K: RefUnwindSafe,
impl<'a, K> Send for Cursor<'a, K>where
K: Sync,
impl<'a, K> Sync for Cursor<'a, K>where
K: Sync,
impl<'a, K> Unpin for Cursor<'a, K>
impl<'a, K> UnsafeUnpin for Cursor<'a, K>
impl<'a, K> UnwindSafe for Cursor<'a, K>where
K: RefUnwindSafe,
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
type Error = <U as RamaTryFrom<T, CrateMarker>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>
§impl<V, F> ValueFormatter<&V> for F
impl<V, F> ValueFormatter<&V> for F
§fn format_value(writer: impl ValueWriter, value: &&V)
fn format_value(writer: impl ValueWriter, value: &&V)
value to writer§impl<V, F> ValueFormatter<Arc<V>> for F
impl<V, F> ValueFormatter<Arc<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Arc<V>)
fn format_value(writer: impl ValueWriter, value: &Arc<V>)
value to writer§impl<V, F> ValueFormatter<Box<V>> for F
impl<V, F> ValueFormatter<Box<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Box<V>)
fn format_value(writer: impl ValueWriter, value: &Box<V>)
value to writer§impl<V, F> ValueFormatter<Cow<'_, V>> for F
impl<V, F> ValueFormatter<Cow<'_, V>> for F
§fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
value to writer§impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
§fn format_value(writer: impl ValueWriter, value: &Option<V>)
fn format_value(writer: impl ValueWriter, value: &Option<V>)
value to writer