clockvector: add ClockVector class
[model-checker.git] / clockvector.h
diff --git a/clockvector.h b/clockvector.h
new file mode 100644 (file)
index 0000000..615dfeb
--- /dev/null
@@ -0,0 +1,20 @@
+#ifndef __CLOCKVECTOR_H__
+#define __CLOCKVECTOR_H__
+
+#include "threads.h"
+
+/* Forward declaration */
+class ModelAction;
+
+class ClockVector {
+public:
+       ClockVector(ClockVector *parent = NULL, ModelAction *act = NULL);
+       ~ClockVector();
+       void merge(ClockVector *cv);
+       bool happens_before(ModelAction *act, thread_id_t id);
+private:
+       int *clock;
+       int num_threads;
+};
+
+#endif /* __CLOCKVECTOR_H__ */