ROSE  0.11.50.0
PathPrioritizer.h
1 #ifndef ROSE_BinaryAnalysis_ModelChecker_PathPrioritizer_H
2 #define ROSE_BinaryAnalysis_ModelChecker_PathPrioritizer_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
5 
6 #include <Rose/BinaryAnalysis/ModelChecker/Types.h>
7 
8 namespace Rose {
9 namespace BinaryAnalysis {
10 namespace ModelChecker {
11 
18 public:
19  using Ptr = PathPrioritizerPtr;
20 
22  virtual ~PathPrioritizer();
23 
34  virtual bool operator()(const PathPtr &worse, const PathPtr &better) const;
35 };
36 
43 public:
44  using Ptr = ShortestPathFirstPtr;
45 
46  static Ptr instance();
47 
48  bool operator()(const PathPtr &worse, const PathPtr &better) const override;
49 };
50 
56 public:
57  using Ptr = LongestPathFirstPtr;
58 
59  static Ptr instance();
60 
61  bool operator()(const PathPtr &worse, const PathPtr &better) const override;
62 };
63 
68 public:
69  using Ptr = FastestPathFirstPtr;
70 
71  static Ptr instance();
72 
73  bool operator()(const PathPtr &worse, const PathPtr &better) const override;
74 };
75 
80 public:
81  using Ptr = RandomPathFirstPtr;
82 
83  static Ptr instance();
84 
85  bool operator()(const PathPtr &worse, const PathPtr &better) const override;
86 };
87 
88 } // namespace
89 } // namespace
90 } // namespace
91 
92 #endif
93 #endif
bool operator()(const PathPtr &worse, const PathPtr &better) const override
Priority predicate.
bool operator()(const PathPtr &worse, const PathPtr &better) const override
Priority predicate.
Main namespace for the ROSE library.
virtual bool operator()(const PathPtr &worse, const PathPtr &better) const
Priority predicate.
bool operator()(const PathPtr &worse, const PathPtr &better) const override
Priority predicate.
Prioritize paths by how long they take.
bool operator()(const PathPtr &worse, const PathPtr &better) const override
Priority predicate.