Trait libmatchtigs::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.

Object Safety§

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>,