# [−][src]Struct ojo_graph::partition::Partition

`pub struct Partition<G: Graph + ?Sized> { /* fields omitted */ }`

A partition of a the nodes of a graph.

Tarjan's algorithm decomposes a directed graph into strongly connected components. Moreover, those components are ordered topologically.

## Trait Implementations

### `impl<G: Graph + ?Sized> Graph for Partition<G>`[src]

#### `fn doubled<'a>(&'a self) -> Doubled<'a, Self>`[src]

Returns the graph that has edges in both directions for every edge that this graph has in one direction. Read more

#### `fn node_filtered<'a, F>(&'a self, predicate: F) -> NodeFiltered<'a, Self, F> where    F: Fn(&Self::Node) -> bool, `[src]

Returns the subgraph of this graph that is induced by the set of nodes for which `predicate` returns `true`. Read more

#### `fn edge_filtered<'a, F>(&'a self, predicate: F) -> EdgeFiltered<'a, Self, F> where    F: Fn(&Self::Node, &Self::Edge) -> bool, `[src]

Returns the subgraph of this graph containing all the edges for which the predicate returns true. Read more

#### `fn top_sort<'a>(&'a self) -> Option<Vec<Self::Node>>`[src]

If this graph is acyclic, returns a topological sort of the vertices. Otherwise, returns `None`. Read more

#### `fn neighbor_set<'a, I: Iterator<Item = &'a Self::Node>>(    &self,     set: I) -> HashSet<Self::Node> where    Self::Node: 'a, `[src]

Returns the set of all nodes that are adjacent (either an in-neighbor or an out-neighbor) to something in `set`. Read more

## Blanket Implementations

### `impl<T, U> TryFrom for T where    U: Into<T>, `[src]

#### `type Error = !`

🔬 This is a nightly-only experimental API. (`try_from`)

The type returned in the event of a conversion error.

### `impl<T, U> TryInto for T where    U: TryFrom<T>, `[src]

#### `type Error = <U as TryFrom<T>>::Error`

🔬 This is a nightly-only experimental API. (`try_from`)

The type returned in the event of a conversion error.