cordyceps::list

Struct Links

Source
pub struct Links<T: ?Sized> { /* private fields */ }
Expand description

Links to other nodes in a List.

In order to be part of a List, a type must contain an instance of this type, and must implement the Linked trait for Links<Self>.

Implementations§

Source§

impl<T: ?Sized> Links<T>

Source

pub const fn new() -> Self

Returns new links for a doubly-linked intrusive list.

Source

pub fn is_linked(&self) -> bool

Returns true if this node is currently linked to a List.

Trait Implementations§

Source§

impl<T: ?Sized> Debug for Links<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: ?Sized> Default for Links<T>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<T: ?Sized> PartialEq for Links<T>

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T: Send> Send for Links<T>

§Safety

Types containing Links may be Send: the pointers within the Links may mutably alias another value, but the links can only be accessed by the owner of the List itself, because the pointers are private. As long as List upholds its own invariants, Links should not make a type !Send.

Source§

impl<T: Sync> Sync for Links<T>

§Safety

Types containing Links may be Sync: the pointers within the Links may mutably alias another value, but the links can only be accessed by the owner of the List itself, because the pointers are private. As long as List upholds its own invariants, Links should not make a type !Sync.

Auto Trait Implementations§

§

impl<T> !Freeze for Links<T>

§

impl<T> !RefUnwindSafe for Links<T>

§

impl<T> !Unpin for Links<T>

§

impl<T> UnwindSafe for Links<T>
where T: RefUnwindSafe + ?Sized,

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.