pub struct CursorOwning<A: Adapter>where
    A::LinkOps: LinkedListOps,{ /* private fields */ }
Expand description

A cursor with ownership over the LinkedList it points into.

Implementations§

source§

impl<A: Adapter> CursorOwning<A>where A::LinkOps: LinkedListOps,

source

pub fn into_inner(self) -> LinkedList<A>

Consumes self and returns the inner LinkedList.

source

pub fn as_cursor(&self) -> Cursor<'_, A>

Returns a read-only cursor pointing to the current element.

The lifetime of the returned Cursor is bound to that of the CursorOwning, which means it cannot outlive the CursorOwning and that the CursorOwning is frozen for the lifetime of the Cursor.

Mutations of the returned cursor are not reflected in the original.

source

pub fn with_cursor_mut<T>( &mut self, f: impl FnOnce(&mut CursorMut<'_, A>) -> T ) -> T

Perform action with mutable reference to the cursor.

All mutations of the cursor are reflected in the original.

Trait Implementations§

Auto Trait Implementations§

§

impl<A> RefUnwindSafe for CursorOwning<A>where A: RefUnwindSafe, <<A as Adapter>::LinkOps as LinkOps>::LinkPtr: RefUnwindSafe,

§

impl<A> Sync for CursorOwning<A>where A: Sync, <<A as Adapter>::LinkOps as LinkOps>::LinkPtr: Sync, <<A as Adapter>::PointerOps as PointerOps>::Value: Sync,

§

impl<A> Unpin for CursorOwning<A>where A: Unpin, <<A as Adapter>::LinkOps as LinkOps>::LinkPtr: Unpin,

§

impl<A> UnwindSafe for CursorOwning<A>where A: UnwindSafe, <<A as Adapter>::LinkOps as LinkOps>::LinkPtr: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.