Trait intrusive_collections::LinkOps 
source · pub unsafe trait LinkOps {
    type LinkPtr: Copy + Eq;
    // Required methods
    unsafe fn acquire_link(&mut self, ptr: Self::LinkPtr) -> bool;
    unsafe fn release_link(&mut self, ptr: Self::LinkPtr);
}Expand description
Base trait for link operations.
LinkPtr is the representation of a link pointer.
Typically this is NonNull, but compact representations such
as u8 or u16 are possible.
Required Associated Types§
Required Methods§
sourceunsafe 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.
If this function succeeds then the intrusive collection will have
exclusive access to the link until release_link is called.
sourceunsafe 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.
Safety
An implementation of release_link must not panic.