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

A cursor with ownership over the XorLinkedList it points into.

Implementations§

source§

impl<A: Adapter> CursorOwning<A>

source

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

Consumes self and returns the inner XorLinkedList.

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> Freeze for CursorOwning<A>
where <<A as Adapter>::LinkOps as LinkOps>::LinkPtr: Freeze, A: Freeze,

§

impl<A> RefUnwindSafe for CursorOwning<A>

§

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

§

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

§

impl<A> UnwindSafe for CursorOwning<A>

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.