Skip to main content

RcuListCursor

Struct RcuListCursor 

Source
pub struct RcuListCursor<'a, T: Send + Sync + 'static, A: RcuListAdapter<T>> { /* private fields */ }

Implementations§

Source§

impl<'a, T: Send + Sync + 'static, A: RcuListAdapter<T>> RcuListCursor<'a, T, A>

Source

pub fn current(&self) -> Option<&T>

Returns the element at the current cursor position.

Source

pub fn advance(&mut self)

Advances the cursor to the next element in the list.

Source

pub unsafe fn remove(&mut self) -> RcuPtrRef<'a, T>

Removes the element at the current cursor position.

After calling remove, the cursor will be positioned at the next element in the list.

Concurrent readers may continue to see this entry in the list until the RCU state machine has made sufficient progress to ensure that no concurrent readers are holding read guards.

§Safety

Requires external synchronization to exclude concurrent writers.

Auto Trait Implementations§

§

impl<'a, T, A> Freeze for RcuListCursor<'a, T, A>

§

impl<'a, T, A> RefUnwindSafe for RcuListCursor<'a, T, A>

§

impl<'a, T, A> !Send for RcuListCursor<'a, T, A>

§

impl<'a, T, A> !Sync for RcuListCursor<'a, T, A>

§

impl<'a, T, A> Unpin for RcuListCursor<'a, T, A>

§

impl<'a, T, A> UnsafeUnpin for RcuListCursor<'a, T, A>

§

impl<'a, T, A> UnwindSafe for RcuListCursor<'a, T, 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.