gatb.core-API-0.0.0
TerminatorTemplate< Node, Edge, Graph > Class Template Referenceabstract

Interface that allows to mark certain nodes in a graph. Note: It is on the verge of becoming deprecated. More...

#include <Terminator.hpp>

Inheritance diagram for TerminatorTemplate< Node, Edge, Graph >:
Inheritance graph

Public Member Functions

 TerminatorTemplate (const Graph &graph)
 
virtual ~TerminatorTemplate ()
 
const GraphgetGraph () const
 
virtual bool isEnabled () const
 
virtual void mark (Edge &edge)=0
 
virtual bool is_marked (Edge &edge) const =0
 
virtual void mark (Node &node)=0
 
virtual bool is_marked (Node &node) const =0
 
virtual bool is_marked_branching (Node &node) const =0
 
virtual bool is_branching (Node &node) const =0
 
virtual void reset ()=0
 
virtual void dump ()=0
 
- Public Member Functions inherited from SmartPointer
void use ()
 
void forget ()
 
- Public Member Functions inherited from ISmartPointer
virtual ~ISmartPointer ()
 

Additional Inherited Members

- Protected Member Functions inherited from SmartPointer
 SmartPointer ()
 
virtual ~SmartPointer ()
 

Detailed Description

template<typename Node, typename Edge, typename Graph>
class gatb::core::debruijn::impl::TerminatorTemplate< Node, Edge, Graph >

Interface that allows to mark certain nodes in a graph. Note: It is on the verge of becoming deprecated.

In short: don't use it. Use the MPHF.

This is a legacy class that was used when the graph did not have a MPHF. I.e. in Minia version 1. Back then, it was not possible to directly tag nodes inside the graph structure. So this Terminator class uses an external data structure to mark some of the nodes (specifically, the branching nodes). It was used during graph traversal for instance.

The Terminator interface provides such a service. It is often used by the Traversal class during its traversing process.

The name Terminator is just related to termination, we needed a way to ensure that we don't traverse the same contig twice, so that the algorithm terminates eventually.

Constructor & Destructor Documentation

TerminatorTemplate ( const Graph graph)
inline

Constructor

Parameters
[in]graph: the graph
virtual ~TerminatorTemplate ( )
inlinevirtual

Destructor.

Member Function Documentation

const Graph& getGraph ( ) const
inline

Get the graph.

Returns
the graph.
virtual bool is_branching ( Node node) const
pure virtual

Tells whether a node is branching

Parameters
[in]node: node to be checked
Returns
true if the node is branching, false otherwise.

Implemented in MPHFTerminatorTemplate< Node, Edge, Graph >, BranchingTerminatorTemplate< Node, Edge, Graph >, and NullTerminatorTemplate< Node, Edge, Graph >.

virtual bool is_marked ( Edge edge) const
pure virtual

Tells whether an edge is marked

Parameters
[in]edge: edge to be checked
Returns
true if the edge is marked, false otherwise

Implemented in MPHFTerminatorTemplate< Node, Edge, Graph >, BranchingTerminatorTemplate< Node, Edge, Graph >, and NullTerminatorTemplate< Node, Edge, Graph >.

virtual bool is_marked ( Node node) const
pure virtual

Tells whether a node is marked

Parameters
[in]node: node to be checked
Returns
true if the node is marked, false otherwise

Implemented in MPHFTerminatorTemplate< Node, Edge, Graph >, BranchingTerminatorTemplate< Node, Edge, Graph >, and NullTerminatorTemplate< Node, Edge, Graph >.

virtual bool is_marked_branching ( Node node) const
pure virtual

Tells whether a branching node is marked

Parameters
[in]node: node to be checked
Returns
true if the node is marked, false otherwise

Implemented in MPHFTerminatorTemplate< Node, Edge, Graph >, BranchingTerminatorTemplate< Node, Edge, Graph >, and NullTerminatorTemplate< Node, Edge, Graph >.

virtual bool isEnabled ( ) const
inlinevirtual

Tells whether marking nodes is allowed or not

Returns
true if marking nodes is allowed, false otherwise.

Reimplemented in NullTerminatorTemplate< Node, Edge, Graph >.

virtual void mark ( Edge edge)
pure virtual
virtual void mark ( Node node)
pure virtual

Mark the provided node.

Parameters
[in]node: node to be marked.

Implemented in MPHFTerminatorTemplate< Node, Edge, Graph >, BranchingTerminatorTemplate< Node, Edge, Graph >, and NullTerminatorTemplate< Node, Edge, Graph >.

virtual void reset ( )
pure virtual

The documentation for this class was generated from the following file: