Struct tract_core::internal::tract_smallvec::alloc::collections::linked_list::Cursor [−][src]
linked_list_cursors
)A cursor over a LinkedList
.
A Cursor
is like an iterator, except that it can freely seek back-and-forth.
Cursors always rest between two elements in the list, and index in a logically circular way.
To accommodate this, there is a “ghost” non-element that yields None
between the head and
tail of the list.
When created, cursors start at the front of the list, or the “ghost” non-element if the list is empty.
Implementations
impl<'a, T> Cursor<'a, T>
[src]
pub fn index(&self) -> Option<usize>
[src]
linked_list_cursors
)Returns the cursor position index within the LinkedList
.
This returns None
if the cursor is currently pointing to the
“ghost” non-element.
pub fn move_next(&mut self)
[src]
linked_list_cursors
)Moves the cursor to the next element of the LinkedList
.
If the cursor is pointing to the “ghost” non-element then this will move it to
the first element of the LinkedList
. If it is pointing to the last
element of the LinkedList
then this will move it to the “ghost” non-element.
pub fn move_prev(&mut self)
[src]
linked_list_cursors
)Moves the cursor to the previous element of the LinkedList
.
If the cursor is pointing to the “ghost” non-element then this will move it to
the last element of the LinkedList
. If it is pointing to the first
element of the LinkedList
then this will move it to the “ghost” non-element.
pub fn current(&self) -> Option<&'a T>
[src]
linked_list_cursors
)Returns a reference to 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 T>
[src]
linked_list_cursors
)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 LinkedList
. If it is pointing to the last
element of the LinkedList
then this returns None
.
pub fn peek_prev(&self) -> Option<&'a T>
[src]
linked_list_cursors
)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 LinkedList
. If it is pointing to the first
element of the LinkedList
then this returns None
.
Trait Implementations
impl<'_, T> Clone for Cursor<'_, T>
[src]
impl<'_, T> Debug for Cursor<'_, T> where
T: Debug,
[src]
T: Debug,
impl<'_, T> Send for Cursor<'_, T> where
T: Sync,
[src]
T: Sync,
impl<'_, T> Sync for Cursor<'_, T> where
T: Sync,
[src]
T: Sync,
Auto Trait Implementations
impl<'a, T> RefUnwindSafe for Cursor<'a, T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<'a, T> Unpin for Cursor<'a, T>
impl<'a, T> UnwindSafe for Cursor<'a, T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>
impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
A: Allocator,
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;
[src]
Notable traits for Box<R, Global>
impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
A: Allocator,
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]
T: Any + Send + Sync,
impl<T> DynClone for T where
T: Clone,
[src]
T: Clone,
pub fn __clone_box(&self, Private) -> *mut ()
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,