TigAlgorithm

Trait TigAlgorithm 

Source
pub trait TigAlgorithm<Graph: GraphBase>: Default {
    type Configuration;

    // Required method
    fn compute_tigs(
        graph: &mut Graph,
        configuration: &Self::Configuration,
    ) -> Vec<VecEdgeWalk<Graph>> ;
}
Expand description

An algorithm to compute tigs for a graph.

Required Associated Types§

Source

type Configuration

The configuration of the algorithm.

Required Methods§

Source

fn compute_tigs( graph: &mut Graph, configuration: &Self::Configuration, ) -> Vec<VecEdgeWalk<Graph>>

Compute the tigs given a graph and configuration.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'a, 'b, Graph, SequenceHandle: Default + Clone> TigAlgorithm<Graph> for MatchtigAlgorithm<'a, 'b, SequenceHandle>
where Graph: DynamicEdgeCentricBigraph + Send + Sync + GraphBase, Graph::NodeIndex: Send + Sync, Graph::EdgeData: BidirectedData + Eq + Clone + MatchtigEdgeData<SequenceHandle>,

Source§

impl<Graph> TigAlgorithm<Graph> for PathtigAlgorithm

Source§

impl<Graph, SequenceHandle: Default + Clone> TigAlgorithm<Graph> for EulertigAlgorithm<SequenceHandle>
where Graph: DynamicEdgeCentricBigraph + GraphBase, Graph::EdgeData: BidirectedData + Eq + Clone + MatchtigEdgeData<SequenceHandle>,

Source§

impl<Graph, SequenceHandle: Default + Clone> TigAlgorithm<Graph> for GreedytigAlgorithm<SequenceHandle>
where Graph: DynamicEdgeCentricBigraph + Send + Sync + GraphBase, Graph::NodeIndex: Send + Sync, Graph::EdgeData: BidirectedData + Eq + Clone + MatchtigEdgeData<SequenceHandle>,