Trait graphs_tools::abs::graph::prelude::GraphNodesExtendableInterface
source · [−]pub trait GraphNodesExtendableInterface where
Self: GraphNodesNominalInterface, {
fn node_mut<Id>(&mut self, id: Id) -> &mut Self::NodeHandle
where
Id: Into<<<Self as GraphNodesNominalInterface>::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 as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
IntoId2: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
Iter: IntoIterator<Item = IntoId2>,
Iter::IntoIter: Clone;
fn node_making<Id>(
&mut self,
id: Id
) -> <<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id
where
Id: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>;
fn node_add_out_node<IntoId1, IntoId2>(
&mut self,
node_id: IntoId1,
out_node_id: IntoId2
)
where
IntoId1: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
IntoId1: Clone,
IntoId2: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
IntoId2: Clone,
{ ... }
fn make_with_edge_list<IntoIter, Id>(&mut self, into_iter: IntoIter)
where
Id: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
IntoIter: IntoIterator<Item = Id>,
IntoIter::IntoIter: ExactSizeIterator<Item = Id>,
{ ... }
}
Expand description
Graph interface which allow to add more nodes. Know nothing about edges.
Required Methods
fn node_mut<Id>(&mut self, id: Id) -> &mut Self::NodeHandle where
Id: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
fn node_mut<Id>(&mut self, id: Id) -> &mut Self::NodeHandle where
Id: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
Get node with id mutably.
fn node_add_out_nodes<IntoId1, IntoId2, Iter>(
&mut self,
node_id: IntoId1,
out_nodes_iter: Iter
) where
IntoId1: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
IntoId2: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
Iter: IntoIterator<Item = IntoId2>,
Iter::IntoIter: Clone,
fn node_add_out_nodes<IntoId1, IntoId2, Iter>(
&mut self,
node_id: IntoId1,
out_nodes_iter: Iter
) where
IntoId1: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
IntoId2: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
Iter: IntoIterator<Item = IntoId2>,
Iter::IntoIter: Clone,
Add out nodes to the node.
fn node_making<Id>(
&mut self,
id: Id
) -> <<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id where
Id: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
fn node_making<Id>(
&mut self,
id: Id
) -> <<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id where
Id: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
Either make new or get existing node.
Provided Methods
fn node_add_out_node<IntoId1, IntoId2>(
&mut self,
node_id: IntoId1,
out_node_id: IntoId2
) where
IntoId1: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
IntoId1: Clone,
IntoId2: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
IntoId2: Clone,
fn node_add_out_node<IntoId1, IntoId2>(
&mut self,
node_id: IntoId1,
out_node_id: IntoId2
) where
IntoId1: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
IntoId1: Clone,
IntoId2: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
IntoId2: Clone,
Add out edges to the node.
fn make_with_edge_list<IntoIter, Id>(&mut self, into_iter: IntoIter) where
Id: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
IntoIter: IntoIterator<Item = Id>,
IntoIter::IntoIter: ExactSizeIterator<Item = Id>,
fn make_with_edge_list<IntoIter, Id>(&mut self, into_iter: IntoIter) where
Id: Into<<<Self as GraphNodesNominalInterface>::NodeHandle as HasId>::Id>,
IntoIter: IntoIterator<Item = Id>,
IntoIter::IntoIter: ExactSizeIterator<Item = Id>,
Make edges.