Struct Cursor

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

A cursor which can only read the elements of the list.

Trait Implementations§

Source§

impl<'a, T> CursorBase<T> for Cursor<'a, T>

Source§

fn get(&self) -> Option<&T>

Returns a reference to the element at the cursor’s current position, or None if the underlying vector is empty. Enable the "optionless-accessors" feature to remove the Option from the return type, see usage notes.
Source§

fn node(&self) -> HNode

Returns the handle of the element at the cursor’s current position.
Source§

fn move_to(&mut self, handle: HNode) -> bool

Moves the cursor to the specified handle. The handle must be valid. Returns true if the move was successful. If the "optionless-accessors" feature is enabled, this method doesn’t return a value. This feature is disabled by default, see usage notes.
Source§

fn move_next(&mut self) -> Option<HNode>

Moves the cursor to the next element. Returns the handle of the next element if the cursor was moved, None if the cursor was already at the end of the list.
Source§

fn move_prev(&mut self) -> Option<HNode>

Moves the cursor to the previous element. Returns the handle of the previous element if the cursor was moved, None if the cursor was already at the start of the list.
Source§

fn move_to_front(&mut self) -> Option<HNode>

Moves the cursor to the start of the list. Returns the handle of the first element if the cursor was moved, None if the list is empty.
Source§

fn move_to_back(&mut self) -> Option<HNode>

Moves the cursor to the end of the list. Returns the handle of the last element if the cursor was moved, None if the list is empty.
Source§

fn move_to_start(&mut self) -> Option<HNode>

👎Deprecated since 1.1.0: Use move_to_front() instead.
Moves the cursor to the start of the list. Returns the handle of the first element if the cursor was moved, None if the list is empty.
Source§

fn move_to_end(&mut self) -> Option<HNode>

👎Deprecated since 1.1.0: Use move_to_back() instead.
Moves the cursor to the end of the list. Returns the handle of the last element if the cursor was moved, None if the list is empty.
Source§

fn forward(&mut self, n: usize) -> Result<HNode, HNode>

Moves the cursor forward by the specified number of elements. Returns the handle of the element at the new position if the cursor was moved, Err(handle) if the cursor did not move forward by the specified amount. The handle at the current position after the move is returned in either Result variant.
Source§

fn backward(&mut self, n: usize) -> Result<HNode, HNode>

Moves the cursor backward by the specified number of elements. Returns the handle of the element at the new position if the cursor was moved, Err(handle) if the cursor did not move backward by the specified amount. The handle at the current position after the move is returned in either Result variant.
Source§

impl<'a, T> Deref for Cursor<'a, T>

Source§

type Target = T

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

§

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

§

impl<'a, T> RefUnwindSafe for Cursor<'a, T>
where T: RefUnwindSafe,

§

impl<'a, T> Send for Cursor<'a, T>
where T: Sync,

§

impl<'a, T> Sync for Cursor<'a, T>
where T: Sync,

§

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

§

impl<'a, T> UnwindSafe for Cursor<'a, T>
where T: RefUnwindSafe,

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V