Struct std::collections::linked_list::Cursor
source · pub struct Cursor<'a, T, A = Global>where
T: 'a,
A: Allocator,{ /* private fields */ }
🔬This is a nightly-only experimental API. (
linked_list_cursors
#58533)Expand description
LinkedList
上的游标。
Cursor
类似于迭代器,不同之处在于它可以自由地来回查找。
游标始终位于列表中的两个元素之间,并以逻辑循环的方式进行索引。
为了适应这一点,有一个 “ghost” 非元素在列表的开头和结尾之间产生 None
。
创建后,游标从列表的开头开始,如果列表为空,则从 “ghost” 非元素开始。
Implementations§
source§impl<'a, T, A> Cursor<'a, T, A>where
A: Allocator,
impl<'a, T, A> Cursor<'a, T, A>where A: Allocator,
sourcepub fn index(&self) -> Option<usize>
🔬This is a nightly-only experimental API. (linked_list_cursors
#58533)
pub fn index(&self) -> Option<usize>
linked_list_cursors
#58533)返回 LinkedList
中的游标位置索引。
如果游标当前指向 “ghost” 非元素,则返回 None
。
sourcepub fn move_next(&mut self)
🔬This is a nightly-only experimental API. (linked_list_cursors
#58533)
pub fn move_next(&mut self)
linked_list_cursors
#58533)将游标移动到 LinkedList
的下一个元素。
如果游标指向 “ghost” 非元素,那么它将移动到 LinkedList
的第一个元素。
如果它指向 LinkedList
的最后一个元素,那么它将把它移到 “ghost” 非元素。
sourcepub fn move_prev(&mut self)
🔬This is a nightly-only experimental API. (linked_list_cursors
#58533)
pub fn move_prev(&mut self)
linked_list_cursors
#58533)将游标移动到 LinkedList
的上一个元素。
如果游标指向 “ghost” 非元素,那么它将移动到 LinkedList
的最后一个元素。
如果它指向 LinkedList
的第一个元素,那么它将把它移到 “ghost” 非元素。
sourcepub fn current(&self) -> Option<&'a T>
🔬This is a nightly-only experimental API. (linked_list_cursors
#58533)
pub fn current(&self) -> Option<&'a T>
linked_list_cursors
#58533)返回对游标当前指向的元素的引用。
如果游标当前指向 “ghost” 非元素,则返回 None
。
sourcepub fn peek_next(&self) -> Option<&'a T>
🔬This is a nightly-only experimental API. (linked_list_cursors
#58533)
pub fn peek_next(&self) -> Option<&'a T>
linked_list_cursors
#58533)返回下一个元素的引用。
如果游标指向 “ghost” 非元素,则返回 LinkedList
的第一个元素。
如果它指向 LinkedList
的最后一个元素,则返回 None
。
sourcepub fn peek_prev(&self) -> Option<&'a T>
🔬This is a nightly-only experimental API. (linked_list_cursors
#58533)
pub fn peek_prev(&self) -> Option<&'a T>
linked_list_cursors
#58533)返回上一个元素的引用。
如果游标指向 “ghost” 非元素,则返回 LinkedList
的最后一个元素。
如果它指向 LinkedList
的第一个元素,则返回 None
。
Trait Implementations§
impl<T, A> Send for Cursor<'_, T, A>where T: Sync, A: Allocator + Sync,
impl<T, A> Sync for Cursor<'_, T, A>where T: Sync, A: Allocator + Sync,
Auto Trait Implementations§
impl<'a, T, A> RefUnwindSafe for Cursor<'a, T, A>where A: RefUnwindSafe, T: RefUnwindSafe,
impl<'a, T, A> Unpin for Cursor<'a, T, A>
impl<'a, T, A> UnwindSafe for Cursor<'a, T, A>where A: RefUnwindSafe, T: 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