OpenMS
FLASHHelperClasses::DAG Class Reference

#include <OpenMS/ANALYSIS/TOPDOWN/FLASHHelperClasses.h>

Collaboration diagram for FLASHHelperClasses::DAG:
[legend]

Public Member Functions

 DAG ()
 
 DAG (Size vertice_count)
 
Size size () const
 
bool addEdge (Size vertex1, Size vertex2, boost::dynamic_bitset<> &visited)
 
bool hasEdge (Size vertex1, Size vertex2) const
 
void findAllPaths (Size source, Size sink, std::vector< std::vector< Size >> &all_paths, Size max_count)
 

Private Member Functions

void findAllPaths_ (Size current, Size destination, std::unordered_set< Size > &visited, std::vector< Size > &path, std::vector< std::vector< Size >> &all_paths, Size max_count)
 

Private Attributes

Size vertex_count_
 
std::map< Size, std::vector< Size > > adj_list_
 
std::unordered_map< Size, std::unordered_set< Size > > adj_list_for_speed_up_
 

Constructor & Destructor Documentation

◆ DAG() [1/2]

DAG ( )
inline

◆ DAG() [2/2]

DAG ( Size  vertice_count)
inlineexplicit

Member Function Documentation

◆ addEdge()

bool addEdge ( Size  vertex1,
Size  vertex2,
boost::dynamic_bitset<> &  visited 
)
inline

◆ findAllPaths()

void findAllPaths ( Size  source,
Size  sink,
std::vector< std::vector< Size >> &  all_paths,
Size  max_count 
)
inline

◆ findAllPaths_()

void findAllPaths_ ( Size  current,
Size  destination,
std::unordered_set< Size > &  visited,
std::vector< Size > &  path,
std::vector< std::vector< Size >> &  all_paths,
Size  max_count 
)
inlineprivate

◆ hasEdge()

bool hasEdge ( Size  vertex1,
Size  vertex2 
) const
inline

◆ size()

Size size ( ) const
inline

Member Data Documentation

◆ adj_list_

std::map<Size, std::vector<Size> > adj_list_
private

◆ adj_list_for_speed_up_

std::unordered_map<Size, std::unordered_set<Size> > adj_list_for_speed_up_
private

◆ vertex_count_

Size vertex_count_
private