ROSE  0.11.145.0
ConcreteResult.h
1 #ifndef ROSE_BinaryAnalysis_Concolic_ConcreteResult_H
2 #define ROSE_BinaryAnalysis_Concolic_ConcreteResult_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_CONCOLIC_TESTING
5 #include <Rose/BinaryAnalysis/Concolic/BasicTypes.h>
6 
7 #include <Sawyer/SharedObject.h>
8 #include <Sawyer/SharedPointer.h>
9 
10 namespace Rose {
11 namespace BinaryAnalysis {
12 namespace Concolic {
13 
24 class ConcreteResult: public Sawyer::SharedObject {
25 public:
27  using Ptr = ConcreteResultPtr;
28 
29 private:
30  double rank_;
31  bool isInteresting_;
32 
33 protected:
34  // Allocating constructors are named "instance" in the subclasses
35  ConcreteResult();
36 
37  explicit ConcreteResult(double rank);
38 
39 public:
40  virtual ~ConcreteResult();
41 
42 public:
51  double rank() const;
52  void rank(double r);
58  bool isInteresting() const;
59  void isInteresting(bool b);
62 private:
63  friend class boost::serialization::access;
64 
65  template<class S>
66  void serialize(S &s, const unsigned /*version*/) {
67  s & BOOST_SERIALIZATION_NVP(rank_);
68  s & BOOST_SERIALIZATION_NVP(isInteresting_);
69  }
70 };
71 
72 } // namespace
73 } // namespace
74 } // namespace
75 
76 #endif
77 #endif
void serialize(std::ostream &output, Graph &graph)
Serialize a graph into a stream of bytes.
Definition: GraphUtility.h:17
Main namespace for the ROSE library.
Base class for reference counted objects.
Definition: SharedObject.h:64
Sawyer::SharedPointer< Node > Ptr
Reference counting pointer.