Struct ra_ap_rustc_data_structures::graph::implementation::Graph
source · pub struct Graph<N, E> { /* private fields */ }
Implementations§
source§impl<N: Debug, E: Debug> Graph<N, E>
impl<N: Debug, E: Debug> Graph<N, E>
pub fn new() -> Graph<N, E>
pub fn with_capacity(nodes: usize, edges: usize) -> Graph<N, E>
pub fn all_nodes(&self) -> &[Node<N>]
pub fn len_nodes(&self) -> usize
pub fn all_edges(&self) -> &[Edge<E>]
pub fn len_edges(&self) -> usize
pub fn next_node_index(&self) -> NodeIndex
pub fn add_node(&mut self, data: N) -> NodeIndex
pub fn mut_node_data(&mut self, idx: NodeIndex) -> &mut N
pub fn node_data(&self, idx: NodeIndex) -> &N
pub fn node(&self, idx: NodeIndex) -> &Node<N>
pub fn next_edge_index(&self) -> EdgeIndex
pub fn add_edge( &mut self, source: NodeIndex, target: NodeIndex, data: E ) -> EdgeIndex
pub fn edge(&self, idx: EdgeIndex) -> &Edge<E>
pub fn enumerated_nodes(&self) -> impl Iterator<Item = (NodeIndex, &Node<N>)>
pub fn enumerated_edges(&self) -> impl Iterator<Item = (EdgeIndex, &Edge<E>)>
sourcepub fn each_node<'a>(
&'a self,
f: impl FnMut(NodeIndex, &'a Node<N>) -> bool
) -> bool
pub fn each_node<'a>( &'a self, f: impl FnMut(NodeIndex, &'a Node<N>) -> bool ) -> bool
Iterates over all edges defined in the graph.
sourcepub fn each_edge<'a>(
&'a self,
f: impl FnMut(EdgeIndex, &'a Edge<E>) -> bool
) -> bool
pub fn each_edge<'a>( &'a self, f: impl FnMut(EdgeIndex, &'a Edge<E>) -> bool ) -> bool
Iterates over all edges defined in the graph
pub fn outgoing_edges(&self, source: NodeIndex) -> AdjacentEdges<'_, N, E> ⓘ
pub fn incoming_edges(&self, source: NodeIndex) -> AdjacentEdges<'_, N, E> ⓘ
pub fn adjacent_edges( &self, source: NodeIndex, direction: Direction ) -> AdjacentEdges<'_, N, E> ⓘ
pub fn successor_nodes( &self, source: NodeIndex ) -> impl Iterator<Item = NodeIndex> + '_
pub fn predecessor_nodes( &self, target: NodeIndex ) -> impl Iterator<Item = NodeIndex> + '_
pub fn depth_traverse( &self, start: NodeIndex, direction: Direction ) -> DepthFirstTraversal<'_, N, E> ⓘ
pub fn nodes_in_postorder( &self, direction: Direction, entry_node: NodeIndex ) -> Vec<NodeIndex>
Auto Trait Implementations§
impl<N, E> RefUnwindSafe for Graph<N, E>where
E: RefUnwindSafe,
N: RefUnwindSafe,
impl<N, E> Send for Graph<N, E>
impl<N, E> Sync for Graph<N, E>
impl<N, E> Unpin for Graph<N, E>
impl<N, E> UnwindSafe for Graph<N, E>where
E: UnwindSafe,
N: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more