Trait generational_arena_tree::BaseNode
source · pub trait BaseNode: Node<Base = Self> {
type Representation;
type Branch: BranchNode;
type Leaf: Node;
// Required method
fn into_representation(
self,
arena: &mut Arena<Self>
) -> Self::Representation
where Self: Sized;
}
Required Associated Types§
sourcetype Representation
type Representation
The representation of the node after it is removed from the arena.
If this is a branch node, this representation should include its children.
sourcetype Branch: BranchNode
type Branch: BranchNode
The type used for branch nodes.
This may be the base node itself, or a separate node type.
Required Methods§
sourcefn into_representation(self, arena: &mut Arena<Self>) -> Self::Representationwhere
Self: Sized,
fn into_representation(self, arena: &mut Arena<Self>) -> Self::Representationwhere
Self: Sized,
Converts this node into its representation.
If this is a branch node, this node’s children should be removed from the arena
and
included in the representation.
Object Safety§
This trait is not object safe.
Implementors§
source§impl<BranchData, LeafData> BaseNode for SplitNode<BranchData, LeafData>
Available on crate feature split
only.
impl<BranchData, LeafData> BaseNode for SplitNode<BranchData, LeafData>
Available on crate feature
split
only.type Representation = SplitNodeRepresentation<BranchData, LeafData>
type Branch = Branch<BranchData, LeafData>
type Leaf = Leaf<BranchData, LeafData>
source§impl<Data: Debug> BaseNode for UnifiedNode<Data>
Available on crate feature unified
only.
impl<Data: Debug> BaseNode for UnifiedNode<Data>
Available on crate feature
unified
only.type Representation = UnifiedNodeRepresentation<Data>
type Branch = UnifiedNode<Data>
type Leaf = UnifiedNode<Data>
source§impl<Data: Debug> BaseNode for UnifiedNodeDeque<Data>
Available on crate feature unified
only.
impl<Data: Debug> BaseNode for UnifiedNodeDeque<Data>
Available on crate feature
unified
only.