ROSE  0.11.145.0
I386Linux/TracingResult.h
1 #ifndef ROSE_BinaryAnalysis_Concolic_I386Linux_TracingResult_H
2 #define ROSE_BinaryAnalysis_Concolic_I386Linux_TracingResult_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_CONCOLIC_TESTING
5 #include <Rose/BinaryAnalysis/Concolic/BasicTypes.h>
6 
7 #include <Rose/BinaryAnalysis/Concolic/ConcreteResult.h>
8 
9 namespace Rose {
10 namespace BinaryAnalysis {
11 namespace Concolic {
12 namespace I386Linux {
13 
15 class TracingResult: public Concolic::ConcreteResult {
16  using Super = Concolic::ConcreteResult;
17 
18 public:
20  using Ptr = TracingResultPtr;
21 
22 private:
23  int exitStatus_; // as returned by wait
24  AddressSet executedVas_;
25 
26 protected:
27  TracingResult();
28  TracingResult(double rank, const AddressSet &executedVas);
29 public:
30  ~TracingResult();
31 
32 public:
34  static Ptr instance(double rank, const AddressSet &executedVas);
35 
41  int exitStatus() const;
42  void exitStatus(int);
48  const AddressSet& executedVas() const;
49  AddressSet& executedVas();
52 private:
53  friend class boost::serialization::access;
54 
55  template<class S>
56  void serialize(S &s, const unsigned /*version*/) {
57  s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Super);
58  s & BOOST_SERIALIZATION_NVP(exitStatus_);
59  s & BOOST_SERIALIZATION_NVP(executedVas_);
60  }
61 };
62 
63 } // namespace
64 } // namespace
65 } // namespace
66 } // namespace
67 
68 #endif
69 #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.
Sawyer::SharedPointer< Node > Ptr
Reference counting pointer.