| The Gaudi Framework v32r1 (f65d50dc)

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 //--------------------------------------------------------------------------
10 class RankerByProductConsumption : public IGraphVisitor {
11 public:
12 using IGraphVisitor::visit;
13
14 bool visit( AlgorithmNode& ) override;
15 };
16
17 //--------------------------------------------------------------------------
18 class RankerByCummulativeOutDegree : public IGraphVisitor {
19 public:
20 using IGraphVisitor::visit;
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:
33 using IGraphVisitor::visit;
34
35 bool visit( AlgorithmNode& ) override;
36 };
37
38 //--------------------------------------------------------------------------
39 class RankerByEccentricity : public IGraphVisitor {
40 public:
41 using IGraphVisitor::visit;
42
43 bool visit( AlgorithmNode& ) override;
44 };
45
46 //--------------------------------------------------------------------------
47 class RankerByDataRealmEccentricity : public IGraphVisitor {
48 public:
49 using IGraphVisitor::visit;
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_ */
concurrency
Definition: PrecedenceRulesGraph.cpp:27
concurrency::RankerByDataRealmEccentricity::m_currentDepth
uint m_currentDepth
Definition: Rankers.h:62
concurrency::IGraphVisitor::visit
virtual bool visit(DecisionNode &)
Definition: IGraphVisitor.h:16
concurrency::RankerByDataRealmEccentricity::reset
void reset() override
Definition: Rankers.h:53
concurrency::RankerByProductConsumption::visit
bool visit(AlgorithmNode &) override
Definition: Rankers.cpp:6
concurrency::RankerByDataRealmEccentricity::recursiveVisit
void recursiveVisit(AlgorithmNode &)
Depth-first node parser to calculate node eccentricity (only within the data realm of the precedence ...
Definition: Rankers.cpp:155
concurrency::RankerByCummulativeOutDegree::m_nodesSucceeded
int m_nodesSucceeded
Definition: Rankers.h:27
concurrency::RankerByCummulativeOutDegree::reset
void reset() override
Definition: Rankers.h:23
concurrency::RankerByTiming
Definition: Rankers.h:31
concurrency::RankerByDataRealmEccentricity
Definition: Rankers.h:47
concurrency::RankerByTiming::visit
bool visit(AlgorithmNode &) override
Definition: Rankers.cpp:74
concurrency::RankerByEccentricity
Definition: Rankers.h:39
concurrency::RankerByEccentricity::visit
bool visit(AlgorithmNode &) override
Definition: Rankers.cpp:108
concurrency::RankerByCummulativeOutDegree::runThroughAdjacents
void runThroughAdjacents(boost::graph_traits< precedence::PrecTrace >::vertex_descriptor, precedence::PrecTrace)
Definition: Rankers.cpp:62
precedence::PrecTrace
boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, AlgoTraceProps > PrecTrace
Definition: PrecedenceRulesGraph.h:50
concurrency::IGraphVisitor
Definition: IGraphVisitor.h:11
concurrency::RankerByProductConsumption
Definition: Rankers.h:10
concurrency::RankerByDataRealmEccentricity::m_maxKnownDepth
uint m_maxKnownDepth
Definition: Rankers.h:63
concurrency::AlgorithmNode
Definition: PrecedenceRulesGraph.h:475
concurrency::RankerByCummulativeOutDegree::visit
bool visit(AlgorithmNode &) override
Definition: Rankers.cpp:25
IGraphVisitor.h
concurrency::RankerByDataRealmEccentricity::visit
bool visit(AlgorithmNode &) override
Definition: Rankers.cpp:140
concurrency::RankerByCummulativeOutDegree
Definition: Rankers.h:18