Struct Cursor

Source
pub struct Cursor<'node, T: 'node> { /* private fields */ }
Expand description

A Cursor is an iterator over a node and it’s tail. It is an active item, which owns the next node it would return.

Due to the design of rust’s Iterator trait, Cursor cannot implement Iterator.

Implementations§

Source§

impl<'node, T: 'node> Cursor<'node, T>

Source

pub fn next<'tail>(&'tail mut self) -> Option<TailValRef<'node, 'tail, T>>

(Optionally) returns the next element of this cursor.

This cursor is unusable as long as the 'tail lifetime is still referenced.

Trait Implementations§

Source§

impl<'node, T: 'node> Drop for Cursor<'node, T>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'node, T> Freeze for Cursor<'node, T>

§

impl<'node, T> !RefUnwindSafe for Cursor<'node, T>

§

impl<'node, T> !Send for Cursor<'node, T>

§

impl<'node, T> !Sync for Cursor<'node, T>

§

impl<'node, T> Unpin for Cursor<'node, T>

§

impl<'node, T> !UnwindSafe for Cursor<'node, T>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.