On this page
Struct std::collections::btree_map::Cursor
pub struct Cursor<'a, K, V>
where
K: 'a,
V: 'a,{ /* private fields */ }
btree_cursors #107540)
A cursor over a BTreeMap.
A Cursor is like an iterator, except that it can freely seek back-and-forth.
Cursors always point to an element in the tree, and index in a logically circular way. To accommodate this, there is a “ghost” non-element that yields None between the last and first elements of the tree.
A Cursor is created with the BTreeMap::lower_bound and BTreeMap::upper_bound methods.
Implementations
impl<'a, K, V> Cursor<'a, K, V>
pub fn move_next(&mut self)
btree_cursors #107540)
Moves the cursor to the next element of the BTreeMap.
If the cursor is pointing to the “ghost” non-element then this will move it to the first element of the BTreeMap. If it is pointing to the last element of the BTreeMap then this will move it to the “ghost” non-element.
pub fn move_prev(&mut self)
btree_cursors #107540)
Moves the cursor to the previous element of the BTreeMap.
If the cursor is pointing to the “ghost” non-element then this will move it to the last element of the BTreeMap. If it is pointing to the first element of the BTreeMap then this will move it to the “ghost” non-element.
pub fn key(&self) -> Option<&'a K>
btree_cursors #107540)
Returns a reference to the key of the element that the cursor is currently pointing to.
This returns None if the cursor is currently pointing to the “ghost” non-element.
pub fn value(&self) -> Option<&'a V>
btree_cursors #107540)
Returns a reference to the value of the element that the cursor is currently pointing to.
This returns None if the cursor is currently pointing to the “ghost” non-element.
pub fn key_value(&self) -> Option<(&'a K, &'a V)>
btree_cursors #107540)
Returns a reference to the key and value of the element that the cursor is currently pointing to.
This returns None if the cursor is currently pointing to the “ghost” non-element.
pub fn peek_next(&self) -> Option<(&'a K, &'a V)>
btree_cursors #107540)
Returns a reference to the next element.
If the cursor is pointing to the “ghost” non-element then this returns the first element of the BTreeMap. If it is pointing to the last element of the BTreeMap then this returns None.
pub fn peek_prev(&self) -> Option<(&'a K, &'a V)>
btree_cursors #107540)
Returns a reference to the previous element.
If the cursor is pointing to the “ghost” non-element then this returns the last element of the BTreeMap. If it is pointing to the first element of the BTreeMap then this returns None.
Trait Implementations
impl<K, V> Clone for Cursor<'_, K, V>
fn clone(&self) -> Cursor<'_, K, V>
fn clone_from(&mut self, source: &Self)
source. Read more
impl<K, V> Debug for Cursor<'_, K, V>
where
K: Debug,
V: Debug,
Auto Trait Implementations
impl<'a, K, V> RefUnwindSafe for Cursor<'a, K, V>
where
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<'a, K, V> Send for Cursor<'a, K, V>
where
K: Sync,
V: Sync,
impl<'a, K, V> Sync for Cursor<'a, K, V>
where
K: Sync,
V: Sync,
impl<'a, K, V> Unpin for Cursor<'a, K, V>
impl<'a, K, V> UnwindSafe for Cursor<'a, K, V>
where
K: RefUnwindSafe,
V: RefUnwindSafe,
Blanket Implementations
impl<T> Any for T
where
T: 'static + ?Sized,
impl<T> Borrow<T> for T
where
T: ?Sized,
impl<T> BorrowMut<T> for T
where
T: ?Sized,
impl<T> From<T> for T
fn from(t: T) -> T
Returns the argument unchanged.
impl<T, U> Into<U> for T
where
U: From<T>,
fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of From<T> for U chooses to do.
impl<T> ToOwned for T
where
T: Clone,
type Owned = T
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)
impl<T, U> TryFrom<U> for T
where
U: Into<T>,
type Error = Infallible
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for T
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/collections/btree_map/struct.Cursor.html