Skip to main content

Cursor

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
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

§

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> !UnwindSafe for Cursor<'node, T>

§

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

§

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

§

impl<'node, T> UnsafeUnpin 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.