Struct alloc::collections::btree_map::Cursor
source · pub struct Cursor<'a, K: 'a, V: 'a> { /* private fields */ }
🔬This is a nightly-only experimental API. (
btree_cursors
#107540)Expand description
BTreeMap
上的游标。
Cursor
类似于迭代器,不同之处在于它可以自由地来回查找。
游标总是指向树中的一个元素,并以逻辑循环的方式进行索引。
为了适应这一点,有一个 “ghost” 非元素在树的最后一个元素和第一个元素之间产生 None
。
Cursor
是使用 BTreeMap::lower_bound
和 BTreeMap::upper_bound
方法创建的。
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)将游标移动到 BTreeMap
的下一个元素。
如果游标指向 “ghost” 非元素,那么这会将其移动到 BTreeMap
的第一个元素。
如果它指向 BTreeMap
的最后一个元素,那么这会将它移动到 “ghost” 非元素。
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)将游标移动到 BTreeMap
的前一个元素。
如果游标指向 “ghost” 非元素,那么这会将其移动到 BTreeMap
的最后一个元素。
如果它指向 BTreeMap
的第一个元素,那么这会将它移动到 “ghost” 非元素。
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)将引用返回到游标当前指向的元素的键。
如果游标当前指向 “ghost” 非元素,则返回 None
。
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)将引用返回到游标当前指向的元素的值。
如果游标当前指向 “ghost” 非元素,则返回 None
。
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)将引用返回到游标当前指向的元素的键和值。
如果游标当前指向 “ghost” 非元素,则返回 None
。
Trait Implementations§
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§
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
从拥有的值中借用。 Read more