Struct std::collections::btree_map::Cursor
source · pub struct Cursor<'a, K, V>where
K: 'a,
V: 'a,{ /* private fields */ }btree_cursors #107540)Expand description
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§
source§impl<'a, K, V> Cursor<'a, K, V>
impl<'a, K, V> Cursor<'a, K, V>
sourcepub fn move_next(&mut self)
🔬This is a nightly-only experimental API. (btree_cursors #107540)
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.
sourcepub fn move_prev(&mut self)
🔬This is a nightly-only experimental API. (btree_cursors #107540)
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.
sourcepub fn key(&self) -> Option<&'a K>
🔬This is a nightly-only experimental API. (btree_cursors #107540)
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.
sourcepub fn value(&self) -> Option<&'a V>
🔬This is a nightly-only experimental API. (btree_cursors #107540)
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.
sourcepub fn key_value(&self) -> Option<(&'a K, &'a V)>
🔬This is a nightly-only experimental API. (btree_cursors #107540)
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.
sourcepub fn peek_next(&self) -> Option<(&'a K, &'a V)>
🔬This is a nightly-only experimental API. (btree_cursors #107540)
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.
sourcepub fn peek_prev(&self) -> Option<(&'a K, &'a V)>
🔬This is a nightly-only experimental API. (btree_cursors #107540)
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.