[][src]Struct dep_graph::DepGraph

pub struct DepGraph<I> where
    I: Clone + Debug + Eq + Hash + PartialEq + Send + Sync + 'static, 
{ pub ready_nodes: Vec<I>, pub deps: Arc<RwLock<HashMap<I, HashSet<I>>>>, pub rdeps: Arc<RwLock<HashMap<I, HashSet<I>>>>, }

Dependency graph

Fields

ready_nodes: Vec<I>deps: Arc<RwLock<HashMap<I, HashSet<I>>>>rdeps: Arc<RwLock<HashMap<I, HashSet<I>>>>

Implementations

impl<I> DepGraph<I> where
    I: Clone + Debug + Eq + Hash + PartialEq + Send + Sync + 'static, 
[src]

pub fn new(nodes: &[Node<I>]) -> Self[src]

Create a new DepGraph based on a vector of edges.

Trait Implementations

impl<I> IntoIterator for DepGraph<I> where
    I: Clone + Debug + Eq + Hash + PartialEq + Send + Sync + 'static, 
[src]

type Item = I

The type of the elements being iterated over.

type IntoIter = DepGraphIter<I>

Which kind of iterator are we turning this into?

impl<I> IntoParallelIterator for DepGraph<I> where
    I: Clone + Debug + Eq + Hash + PartialEq + Send + Sync + 'static, 
[src]

Add into_par_iter() to DepGraph

type Item = Wrapper<I>

The type of item that the parallel iterator will produce.

type Iter = DepGraphParIter<I>

The parallel iterator type that will be created.

Auto Trait Implementations

impl<I> RefUnwindSafe for DepGraph<I> where
    I: RefUnwindSafe

impl<I> Send for DepGraph<I>

impl<I> Sync for DepGraph<I>

impl<I> Unpin for DepGraph<I> where
    I: Unpin

impl<I> UnwindSafe for DepGraph<I> where
    I: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T> IntoParallelIterator for T where
    T: ParallelIterator
[src]

type Iter = T

The parallel iterator type that will be created.

type Item = <T as ParallelIterator>::Item

The type of item that the parallel iterator will produce.

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.