Struct LeafDeque

Source
pub struct LeafDeque<BranchData: Debug, LeafData: Debug> { /* private fields */ }
Available on crate features deque and split only.
Expand description

The node representing leaves in a split node tree.

Leaves are nodes which may not have children, as opposed to branches, which may have children.

LeafData represents the custom data associated with leaf nodes.

Trait Implementations§

Source§

impl<BranchData: Debug + Debug, LeafData: Debug + Debug> Debug for LeafDeque<BranchData, LeafData>

Source§

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

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

impl<BranchData, LeafData> Hash for LeafDeque<BranchData, LeafData>
where BranchData: Debug, LeafData: Debug,

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<BranchData, LeafData> Node for LeafDeque<BranchData, LeafData>
where BranchData: Debug, LeafData: Debug,

Source§

type Base = SplitNodeDeque<BranchData, LeafData>

The ‘base node’ used in the arena. Read more
Source§

type Token = Token<LeafDeque<BranchData, LeafData>>

The token associated with this type of node.
Source§

type Data = LeafData

The custom data associated with this node.
Source§

type DataRef<'data> = &'data LeafData where Self: 'data

A type acting as a reference to the node’s data. Read more
Source§

type DataRefMut<'data> = &'data mut LeafData where Self: 'data

A type acting as a mutable reference to the node’s data. Read more
Source§

fn new(arena: &mut Arena<Self::Base>, data: Self::Data) -> Self::Token

Creates a new node allocated in the given arena using the given data. Read more
Source§

fn token(&self) -> Self::Token

Returns this node’s token.
Source§

fn parent(&self) -> Option<Token<<Self::Base as BaseNode>::Branch>>

Returns the token of this node’s parent. Read more
Source§

fn data(&self) -> &LeafData

Returns a reference to the data associated with this node.
Source§

fn data_mut(&mut self) -> &mut LeafData

Returns a mutable reference to the data associated with this node.
Source§

fn ancestors<'node>( &'node self, arena: &'node Arena<Self::Base>, ) -> Ancestors<'node, Self::Base>
where Self: Sized,

Returns an iterator over the tokens of this node’s ancestors. Read more
Source§

fn root<'node>(&'node self, arena: &'node Arena<Self::Base>) -> RootToken<Self>
where Self: Sized,

Returns this node’s root node. Read more
Source§

impl<BranchData, LeafData, Other: Node> PartialEq<Other> for LeafDeque<BranchData, LeafData>
where BranchData: Debug, LeafData: Debug, <Self as Node>::Token: PartialEq<Other::Token>,

Source§

fn eq(&self, other: &Other) -> 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<'node, BranchData, LeafData> TryFrom<&'node SplitNodeDeque<BranchData, LeafData>> for &'node LeafDeque<BranchData, LeafData>
where BranchData: Debug, LeafData: Debug,

Source§

type Error = &'node SplitNodeDeque<BranchData, LeafData>

The type returned in the event of a conversion error.
Source§

fn try_from( node: &'node SplitNodeDeque<BranchData, LeafData>, ) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'node, BranchData, LeafData> TryFrom<&'node mut SplitNodeDeque<BranchData, LeafData>> for &'node mut LeafDeque<BranchData, LeafData>
where BranchData: Debug, LeafData: Debug,

Source§

type Error = &'node mut SplitNodeDeque<BranchData, LeafData>

The type returned in the event of a conversion error.
Source§

fn try_from( node: &'node mut SplitNodeDeque<BranchData, LeafData>, ) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<BranchData, LeafData> Eq for LeafDeque<BranchData, LeafData>
where BranchData: Debug, LeafData: Debug,

Auto Trait Implementations§

§

impl<BranchData, LeafData> Freeze for LeafDeque<BranchData, LeafData>
where LeafData: Freeze,

§

impl<BranchData, LeafData> RefUnwindSafe for LeafDeque<BranchData, LeafData>
where LeafData: RefUnwindSafe, BranchData: RefUnwindSafe,

§

impl<BranchData, LeafData> Send for LeafDeque<BranchData, LeafData>
where LeafData: Send, BranchData: Send,

§

impl<BranchData, LeafData> Sync for LeafDeque<BranchData, LeafData>
where LeafData: Sync, BranchData: Sync,

§

impl<BranchData, LeafData> Unpin for LeafDeque<BranchData, LeafData>
where LeafData: Unpin, BranchData: Unpin,

§

impl<BranchData, LeafData> UnwindSafe for LeafDeque<BranchData, LeafData>
where LeafData: UnwindSafe, BranchData: UnwindSafe,

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.