Struct traitgraph::implementation::bit_vector_subgraph::BitVectorSubgraph [−][src]
pub struct BitVectorSubgraph<'a, Graph> { /* fields omitted */ }
Expand description
A subgraph that stores the presence or absence of a node or edge using bitvectors.
Trait Implementations
Panics if the node_index is not valid for the graph passed in the constructor.
Panics if the edge_index is not valid for the graph passed in the constructor.
Panics if the node_index is not valid for the graph passed in the constructor.
Panics if the edge_index is not valid for the graph passed in the constructor.
Returns the amount of nodes in the subgraph.
Returns the amount of edges in the subgraph.
type ParentGraph = Graph
type ParentGraph = Graph
The type of the associated parent graph.
type ParentGraphRef = &'a Graph
type ParentGraphRef = &'a Graph
The type of the reference to the associated parent graph.
Constructs a subgraph from the given graph without any nodes or edges. If not defined otherwise in the implementation, all node and edge ids of the given graph are valid arguments for the methods of this trait on the returned object. Read more
Constructs a subgraph from the given graph with all nodes and edges. If not defined otherwise in the implementation, all node and edge ids of the given graph are valid arguments for the methods of this trait on the returned object. Read more
Returns a reference to the original graph.
Returns true if the given node id is part of the subgraph.
Returns true if the given edge id is part of the subgraph.
Auto Trait Implementations
impl<'a, Graph> RefUnwindSafe for BitVectorSubgraph<'a, Graph> where
Graph: RefUnwindSafe,
impl<'a, Graph> Send for BitVectorSubgraph<'a, Graph> where
Graph: Sync,
impl<'a, Graph> Sync for BitVectorSubgraph<'a, Graph> where
Graph: Sync,
impl<'a, Graph> Unpin for BitVectorSubgraph<'a, Graph>
impl<'a, Graph> UnwindSafe for BitVectorSubgraph<'a, Graph> where
Graph: RefUnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
type NodeData = <<T as DecoratingSubgraph>::ParentGraph as GraphBase>::NodeData
type NodeData = <<T as DecoratingSubgraph>::ParentGraph as GraphBase>::NodeData
The data type associated with each node.
type EdgeData = <<T as DecoratingSubgraph>::ParentGraph as GraphBase>::EdgeData
type EdgeData = <<T as DecoratingSubgraph>::ParentGraph as GraphBase>::EdgeData
The data type associated with each edge.
type OptionalNodeIndex = <<T as DecoratingSubgraph>::ParentGraph as GraphBase>::OptionalNodeIndex
type OptionalNodeIndex = <<T as DecoratingSubgraph>::ParentGraph as GraphBase>::OptionalNodeIndex
The optional index type used for nodes.
type OptionalEdgeIndex = <<T as DecoratingSubgraph>::ParentGraph as GraphBase>::OptionalEdgeIndex
type OptionalEdgeIndex = <<T as DecoratingSubgraph>::ParentGraph as GraphBase>::OptionalEdgeIndex
The optional index type used for edges.
type NodeIndex = <<T as DecoratingSubgraph>::ParentGraph as GraphBase>::NodeIndex
type NodeIndex = <<T as DecoratingSubgraph>::ParentGraph as GraphBase>::NodeIndex
The index type used for nodes.
type EdgeIndex = <<T as DecoratingSubgraph>::ParentGraph as GraphBase>::EdgeIndex
type EdgeIndex = <<T as DecoratingSubgraph>::ParentGraph as GraphBase>::EdgeIndex
The index type used for edges.
Returns the none value of the optional node index type used by the trait.
Returns the none value of the optional edge index type used by the trait.
impl<T> ImmutableGraphContainer for T where
T: DecoratingSubgraph,
<T as DecoratingSubgraph>::ParentGraph: ImmutableGraphContainer,
<T as DecoratingSubgraph>::ParentGraph: for<'a> NavigableGraph<'a>,
impl<T> ImmutableGraphContainer for T where
T: DecoratingSubgraph,
<T as DecoratingSubgraph>::ParentGraph: ImmutableGraphContainer,
<T as DecoratingSubgraph>::ParentGraph: for<'a> NavigableGraph<'a>,
pub fn node_indices(
&Self
) -> GraphIndices<<T as GraphBase>::NodeIndex, <T as GraphBase>::OptionalNodeIndex>ⓘNotable traits for GraphIndices<IndexType, OptionalIndexType>impl<OptionalIndexType: OptionalGraphIndex<IndexType>, IndexType: GraphIndex<OptionalIndexType>> Iterator for GraphIndices<IndexType, OptionalIndexType> type Item = IndexType;
pub fn node_indices(
&Self
) -> GraphIndices<<T as GraphBase>::NodeIndex, <T as GraphBase>::OptionalNodeIndex>ⓘNotable traits for GraphIndices<IndexType, OptionalIndexType>impl<OptionalIndexType: OptionalGraphIndex<IndexType>, IndexType: GraphIndex<OptionalIndexType>> Iterator for GraphIndices<IndexType, OptionalIndexType> type Item = IndexType;
impl<OptionalIndexType: OptionalGraphIndex<IndexType>, IndexType: GraphIndex<OptionalIndexType>> Iterator for GraphIndices<IndexType, OptionalIndexType> type Item = IndexType;
Returns an iterator over the node indices in this graph.
pub fn edge_indices(
&Self
) -> GraphIndices<<T as GraphBase>::EdgeIndex, <T as GraphBase>::OptionalEdgeIndex>ⓘNotable traits for GraphIndices<IndexType, OptionalIndexType>impl<OptionalIndexType: OptionalGraphIndex<IndexType>, IndexType: GraphIndex<OptionalIndexType>> Iterator for GraphIndices<IndexType, OptionalIndexType> type Item = IndexType;
pub fn edge_indices(
&Self
) -> GraphIndices<<T as GraphBase>::EdgeIndex, <T as GraphBase>::OptionalEdgeIndex>ⓘNotable traits for GraphIndices<IndexType, OptionalIndexType>impl<OptionalIndexType: OptionalGraphIndex<IndexType>, IndexType: GraphIndex<OptionalIndexType>> Iterator for GraphIndices<IndexType, OptionalIndexType> type Item = IndexType;
impl<OptionalIndexType: OptionalGraphIndex<IndexType>, IndexType: GraphIndex<OptionalIndexType>> Iterator for GraphIndices<IndexType, OptionalIndexType> type Item = IndexType;
Returns an iterator over the edge indices in this graph.
Returns true if this graph contains the given node index.
Returns true if this graph contains the given edge index.
Returns the amount of nodes in this graph.
Returns the amount of edges in this graph.
Returns a reference to the node data associated with the given node id, or None if there is no such node.
Returns a reference to the edge data associated with the given edge id, or None if there is no such edge.
Returns a mutable reference to the node data associated with the given node id, or None if there is no such node.
Returns a mutable reference to the edge data associated with the given edge id, or None if there is no such edge.
Returns true if the graph contains an edge (from, to)
.
Returns the amount of edges (from, to)
.
Returns the endpoints of an edge.
type OutNeighbors = EdgeFilteredNeighborIterator<'a, T, <<T as DecoratingSubgraph>::ParentGraph as NavigableGraph<'a>>::OutNeighbors>
type OutNeighbors = EdgeFilteredNeighborIterator<'a, T, <<T as DecoratingSubgraph>::ParentGraph as NavigableGraph<'a>>::OutNeighbors>
The iterator type used to iterate over the outgoing neighbors of a node.
type InNeighbors = EdgeFilteredNeighborIterator<'a, T, <<T as DecoratingSubgraph>::ParentGraph as NavigableGraph<'a>>::InNeighbors>
type InNeighbors = EdgeFilteredNeighborIterator<'a, T, <<T as DecoratingSubgraph>::ParentGraph as NavigableGraph<'a>>::InNeighbors>
The iterator type used to iterate over the incoming neighbors of a node.
type EdgesBetween = EdgeFilteredEdgeIterator<'a, T, <<T as DecoratingSubgraph>::ParentGraph as NavigableGraph<'a>>::EdgesBetween>
type EdgesBetween = EdgeFilteredEdgeIterator<'a, T, <<T as DecoratingSubgraph>::ParentGraph as NavigableGraph<'a>>::EdgesBetween>
The iterator type used to iterate over the edges between to nodes.
pub fn out_neighbors(
&'a Self,
<T as GraphBase>::NodeIndex
) -> <T as NavigableGraph<'a>>::OutNeighbors
pub fn out_neighbors(
&'a Self,
<T as GraphBase>::NodeIndex
) -> <T as NavigableGraph<'a>>::OutNeighbors
Returns an iterator over the outgoing neighbors of the given node.
pub fn in_neighbors(
&'a Self,
<T as GraphBase>::NodeIndex
) -> <T as NavigableGraph<'a>>::InNeighbors
pub fn in_neighbors(
&'a Self,
<T as GraphBase>::NodeIndex
) -> <T as NavigableGraph<'a>>::InNeighbors
Returns an iterator over the incoming neighbors of the given node.
pub fn edges_between(
&'a Self,
<T as GraphBase>::NodeIndex,
<T as GraphBase>::NodeIndex
) -> <T as NavigableGraph<'a>>::EdgesBetween
pub fn edges_between(
&'a Self,
<T as GraphBase>::NodeIndex,
<T as GraphBase>::NodeIndex
) -> <T as NavigableGraph<'a>>::EdgesBetween
Returns an iterator over the edges (from_node_id, to_node_id)
.
Returns the amount of outgoing edges from a node.
Returns the amount of incoming edges to a node.
Returns true if the given node has indegree == 1 and outdegree == 1.
Returns true if the given node has indegree > 1 and outdegree > 1.
Returns true if the given edge’s tail has outdegree > 1.
Returns true if the given edge’s head has indegree > 1.
Returns true if the given node has outdegree > 1.
Returns true if the given node has indegree > 1.
pub fn vzip(self) -> V
fn create_node_walk<WalkType: for<'a> NodeWalk<'a, Self, SubwalkType> + FromIterator<Self::NodeIndex>, SubwalkType: for<'a> NodeWalk<'a, Self, SubwalkType> + ?Sized>(
&self,
walk: &[Self::NodeIndex]
) -> WalkType
fn create_node_walk<WalkType: for<'a> NodeWalk<'a, Self, SubwalkType> + FromIterator<Self::NodeIndex>, SubwalkType: for<'a> NodeWalk<'a, Self, SubwalkType> + ?Sized>(
&self,
walk: &[Self::NodeIndex]
) -> WalkType
Create a node-centric walk over the given nodes in this graph.
Create an empty node-centric walk in this graph.
fn create_edge_walk<WalkType: for<'a> EdgeWalk<'a, Self, SubwalkType> + FromIterator<Self::EdgeIndex>, SubwalkType: for<'a> EdgeWalk<'a, Self, SubwalkType> + ?Sized>(
&self,
walk: &[Self::EdgeIndex]
) -> WalkType
fn create_edge_walk<WalkType: for<'a> EdgeWalk<'a, Self, SubwalkType> + FromIterator<Self::EdgeIndex>, SubwalkType: for<'a> EdgeWalk<'a, Self, SubwalkType> + ?Sized>(
&self,
walk: &[Self::EdgeIndex]
) -> WalkType
Create an edge-centric walk over the given edges in this graph.