ROSE  0.11.145.0
TestSuite.h
1 #ifndef ROSE_BinaryAnalysis_Concolic_TestSuite_H
2 #define ROSE_BinaryAnalysis_Concolic_TestSuite_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 #include <string>
10 
11 namespace Rose {
12 namespace BinaryAnalysis {
13 namespace Concolic {
14 
27 class TestSuite: public Sawyer::SharedObject, public Sawyer::SharedFromThis<TestSuite> {
28 public:
31 
32 private:
33  mutable SAWYER_THREAD_TRAITS::Mutex mutex_; // protects the following data members
34  std::string name_; // unique and non-empty within a database
35  std::string timestamp_; // time of creation
36 
37 protected:
38  TestSuite();
39 
40 public:
41  ~TestSuite();
42 
44  static Ptr instance(const std::string &name = "");
45 
54  std::string name() const; // value return is intentional for thread safety
55  void name(const std::string&);
63  std::string printableName(const DatabasePtr &db = DatabasePtr());
64 
75  std::string timestamp() const;
76  void timestamp(const std::string&);
78 };
79 
80 } // namespace
81 } // namespace
82 } // namespace
83 
84 #endif
85 #endif
Main namespace for the ROSE library.
Reference-counting intrusive smart pointer.
Definition: SharedPointer.h:68
Creates SharedPointer from this.
Base class for reference counted objects.
Definition: SharedObject.h:64
Sawyer::SharedPointer< Node > Ptr
Reference counting pointer.