CursorOwning

Struct CursorOwning 

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

A cursor with ownership over the RBTree it points into.

Implementations§

Source§

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

Source

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

Consumes self and returns the inner RBTree.

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§

Source§

impl<A: Adapter> Send for CursorOwning<A>
where RBTree<A>: Send, A::LinkOps: RBTreeOps,

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

§

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

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.