Struct intrusive_collections::rbtree::AtomicLinkOps
source · pub struct AtomicLinkOps;
Expand description
Default LinkOps
implementation for RBTree
.
Trait Implementations§
source§impl Clone for AtomicLinkOps
impl Clone for AtomicLinkOps
source§fn clone(&self) -> AtomicLinkOps
fn clone(&self) -> AtomicLinkOps
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Default for AtomicLinkOps
impl Default for AtomicLinkOps
source§fn default() -> AtomicLinkOps
fn default() -> AtomicLinkOps
Returns the “default value” for a type. Read more
source§impl LinkOps for AtomicLinkOps
impl LinkOps for AtomicLinkOps
source§type LinkPtr = NonNull<AtomicLink>
type LinkPtr = NonNull<AtomicLink>
The link pointer type.
source§unsafe fn acquire_link(&mut self, ptr: Self::LinkPtr) -> bool
unsafe fn acquire_link(&mut self, ptr: Self::LinkPtr) -> bool
Attempts to acquire ownership of a link so that it can be used in an
intrusive collection. Read more
source§unsafe fn release_link(&mut self, ptr: Self::LinkPtr)
unsafe fn release_link(&mut self, ptr: Self::LinkPtr)
Releases ownership of a link that was previously acquired with
acquire_link
. Read moresource§impl LinkedListOps for AtomicLinkOps
impl LinkedListOps for AtomicLinkOps
source§unsafe fn next(&self, ptr: Self::LinkPtr) -> Option<Self::LinkPtr>
unsafe fn next(&self, ptr: Self::LinkPtr) -> Option<Self::LinkPtr>
Returns the “next” link pointer of
ptr
. Read moresource§unsafe fn prev(&self, ptr: Self::LinkPtr) -> Option<Self::LinkPtr>
unsafe fn prev(&self, ptr: Self::LinkPtr) -> Option<Self::LinkPtr>
Returns the “prev” link pointer of
ptr
. Read moresource§impl RBTreeOps for AtomicLinkOps
impl RBTreeOps for AtomicLinkOps
source§unsafe fn left(&self, ptr: Self::LinkPtr) -> Option<Self::LinkPtr>
unsafe fn left(&self, ptr: Self::LinkPtr) -> Option<Self::LinkPtr>
Returns the left child of
ptr
. Read moresource§unsafe fn right(&self, ptr: Self::LinkPtr) -> Option<Self::LinkPtr>
unsafe fn right(&self, ptr: Self::LinkPtr) -> Option<Self::LinkPtr>
Returns the right child of
ptr
. Read moresource§unsafe fn parent(&self, ptr: Self::LinkPtr) -> Option<Self::LinkPtr>
unsafe fn parent(&self, ptr: Self::LinkPtr) -> Option<Self::LinkPtr>
Returns the parent of
ptr
. Read moresource§unsafe fn set_left(&mut self, ptr: Self::LinkPtr, left: Option<Self::LinkPtr>)
unsafe fn set_left(&mut self, ptr: Self::LinkPtr, left: Option<Self::LinkPtr>)
Sets the left child of
ptr
. Read moresource§unsafe fn set_right(&mut self, ptr: Self::LinkPtr, right: Option<Self::LinkPtr>)
unsafe fn set_right(&mut self, ptr: Self::LinkPtr, right: Option<Self::LinkPtr>)
Sets the right child of
ptr
. Read moresource§impl SinglyLinkedListOps for AtomicLinkOps
impl SinglyLinkedListOps for AtomicLinkOps
source§impl XorLinkedListOps for AtomicLinkOps
impl XorLinkedListOps for AtomicLinkOps
source§unsafe fn next(
&self,
ptr: Self::LinkPtr,
prev: Option<Self::LinkPtr>,
) -> Option<Self::LinkPtr>
unsafe fn next( &self, ptr: Self::LinkPtr, prev: Option<Self::LinkPtr>, ) -> Option<Self::LinkPtr>
Returns the “next” link pointer of
ptr
. Read moresource§unsafe fn prev(
&self,
ptr: Self::LinkPtr,
next: Option<Self::LinkPtr>,
) -> Option<Self::LinkPtr>
unsafe fn prev( &self, ptr: Self::LinkPtr, next: Option<Self::LinkPtr>, ) -> Option<Self::LinkPtr>
Returns the “prev” link pointer of
ptr
. Read moreimpl Copy for AtomicLinkOps
Auto Trait Implementations§
impl Freeze for AtomicLinkOps
impl RefUnwindSafe for AtomicLinkOps
impl Send for AtomicLinkOps
impl Sync for AtomicLinkOps
impl Unpin for AtomicLinkOps
impl UnwindSafe for AtomicLinkOps
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)