logo
pub trait GraphNodesExtendableInterface: GraphNodesNominalInterface {
    fn node_mut<Id>(&mut self, id: Id) -> &mut Self::NodeHandle
    where
        Id: Into<<Self::NodeHandle as HasId>::Id>
; fn node_add_out_nodes<IntoId1, IntoId2, Iter>(
        &mut self,
        node_id: IntoId1,
        out_nodes_iter: Iter
    )
    where
        IntoId1: Into<<Self::NodeHandle as HasId>::Id>,
        IntoId2: Into<<Self::NodeHandle as HasId>::Id>,
        Iter: IntoIterator<Item = IntoId2>,
        <Iter as IntoIterator>::IntoIter: Clone
; fn node_making<Id>(&mut self, id: Id) -> <Self::NodeHandle as HasId>::Id
    where
        Id: Into<<Self::NodeHandle as HasId>::Id>
; fn node_add_out_node<IntoId1, IntoId2>(
        &mut self,
        node_id: IntoId1,
        out_node_id: IntoId2
    )
    where
        IntoId1: Into<<Self::NodeHandle as HasId>::Id> + Clone,
        IntoId2: Into<<Self::NodeHandle as HasId>::Id> + Clone
, { ... } fn make_with_edge_list<IntoIter, Id>(&mut self, into_iter: IntoIter)
    where
        Id: Into<<Self::NodeHandle as HasId>::Id>,
        IntoIter: IntoIterator<Item = Id>,
        <IntoIter as IntoIterator>::IntoIter: ExactSizeIterator,
        <<IntoIter as IntoIterator>::IntoIter as Iterator>::Item == Id
, { ... } }
Expand description

Graph interface which allow to add more nodes. Know nothing about edges.

Required Methods

Get node with id mutably.

Add out nodes to the node.

Either make new or get existing node.

Provided Methods

Add out edges to the node.

Make edges.

Implementors