aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Requirements/src/all_clauses.hh
diff options
context:
space:
mode:
Diffstat (limited to 'Carpet/Requirements/src/all_clauses.hh')
-rw-r--r--Carpet/Requirements/src/all_clauses.hh34
1 files changed, 34 insertions, 0 deletions
diff --git a/Carpet/Requirements/src/all_clauses.hh b/Carpet/Requirements/src/all_clauses.hh
new file mode 100644
index 000000000..3219aa3fa
--- /dev/null
+++ b/Carpet/Requirements/src/all_clauses.hh
@@ -0,0 +1,34 @@
+#ifndef ALL_CLAUSES_HH
+#define ALL_CLAUSES_HH
+
+#include <iostream>
+#include <map>
+
+#include <cctk.h>
+#include <cctki_Schedule.h>
+
+#include <clauses.hh>
+
+using namespace std;
+
+namespace Requirements {
+
+ class all_clauses_t {
+ // TODO: Represent I/O as well?
+ typedef std::map<cFunctionData const*, clauses_t const*> clauses_map_t;
+ clauses_map_t clauses_map;
+ // Singleton
+ all_clauses_t(all_clauses_t const&);
+ all_clauses_t& operator=(all_clauses_t const&);
+ public:
+ all_clauses_t() {}
+ clauses_t const& get_clauses(cFunctionData const* function_data);
+ void remove_clauses(cFunctionData const* function_data);
+
+ // Input/Output helpers
+ void input (istream& is);
+ void output (ostream& os) const;
+ };
+}
+
+#endif