All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Matcher.h
Go to the documentation of this file.
1 /*
2  * Matcher.h
3  *
4  * Created on: 30.10.2012
5  * Author: Christian Staudt (christian.staudt@kit.edu)
6  */
7 
8 #ifndef MATCHER_H_
9 #define MATCHER_H_
10 
11 #include "Matching.h"
12 #include "../base/Algorithm.h"
13 
14 
15 namespace NetworKit {
16 
21 class Matcher : public Algorithm {
22 protected:
23  const Graph& G;
25  bool edgeScoresAsWeights; //<! if true, algorithm should use edge scores instead of edge weights
26  const std::vector<double> edgeScores; //<! optional edge scores to be used instead of edge weight
27 
28 public:
33  Matcher(const Graph& G);
34 
40  Matcher(const Graph& G, const std::vector<double>& edgeScores);
41 
43  virtual ~Matcher() = default;
44 
45 
50  virtual void run() = 0;
51 
52 
53  Matching getMatching() const;
54 };
55 
56 } /* namespace NetworKit */
57 #endif /* MATCHER_H_ */
bool edgeScoresAsWeights
Definition: Matcher.h:25
Matching getMatching() const
Definition: Matcher.cpp:22
Abstract base class for matching algorithms.
Definition: Matcher.h:21
const std::vector< double > edgeScores
Definition: Matcher.h:26
Matcher(const Graph &G)
Constructor.
Definition: Matcher.cpp:12
virtual void run()=0
Run the matching algorithm on the stored graph and return a matching.
virtual ~Matcher()=default
Default destructor.
Definition: Algorithm.h:9
A graph (with optional weights) and parallel iterator methods.
Definition: Graph.h:79
const Graph & G
Definition: Matcher.h:23
Matching M
Definition: Matcher.h:24
Definition: Matching.h:19