The Gaudi Framework  v32r0 (3325bb39)
Rankers.h
Go to the documentation of this file.
1 #ifndef RANKERS_H_
2 #define RANKERS_H_
3 
4 #include "../PrecedenceRulesGraph.h"
5 #include "IGraphVisitor.h"
6 
7 namespace concurrency {
8 
9  //--------------------------------------------------------------------------
11  public:
13 
14  bool visit( AlgorithmNode& ) override;
15  };
16 
17  //--------------------------------------------------------------------------
19  public:
21 
22  bool visit( AlgorithmNode& ) override;
23  void reset() override { m_nodesSucceeded = 0; };
24 
25  void runThroughAdjacents( boost::graph_traits<precedence::PrecTrace>::vertex_descriptor, precedence::PrecTrace );
26 
27  int m_nodesSucceeded{0};
28  };
29 
30  //--------------------------------------------------------------------------
31  class RankerByTiming : public IGraphVisitor {
32  public:
34 
35  bool visit( AlgorithmNode& ) override;
36  };
37 
38  //--------------------------------------------------------------------------
40  public:
42 
43  bool visit( AlgorithmNode& ) override;
44  };
45 
46  //--------------------------------------------------------------------------
48  public:
50 
51  bool visit( AlgorithmNode& ) override;
52 
53  void reset() override {
54  m_currentDepth = 0;
55  m_maxKnownDepth = 0;
56  }
57 
60  void recursiveVisit( AlgorithmNode& );
61 
62  uint m_currentDepth{0};
63  uint m_maxKnownDepth{0};
64  };
65 
66 } // namespace concurrency
67 
68 #endif /* RANKERS_H_ */
virtual bool visit(DecisionNode &)
Definition: IGraphVisitor.h:16
bool visit(AlgorithmNode &) override
Definition: Rankers.cpp:6
boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, AlgoTraceProps > PrecTrace