model: add get_last_seq_cst_fence
[c11tester.git] / clockvector.h
index 7f32b7e6cbfba459ba97420a1624c02fd010b6be..9000a5d72eddd90ba1ba5964e4a12105a75ca9b1 100644 (file)
@@ -5,8 +5,8 @@
 #ifndef __CLOCKVECTOR_H__
 #define __CLOCKVECTOR_H__
 
-#include "threads.h"
 #include "mymemory.h"
+#include "modeltypes.h"
 
 /* Forward declaration */
 class ModelAction;
@@ -15,15 +15,16 @@ class ClockVector {
 public:
        ClockVector(ClockVector *parent = NULL, ModelAction *act = NULL);
        ~ClockVector();
-       void merge(ClockVector *cv);
-       bool synchronized_since(ModelAction *act);
+       void merge(const ClockVector *cv);
+       bool synchronized_since(const ModelAction *act) const;
 
-       void print();
+       void print() const;
+       modelclock_t getClock(thread_id_t thread);
 
-       MEMALLOC
+       SNAPSHOTALLOC
 private:
        /** @brief Holds the actual clock data, as an array. */
-       int *clock;
+       modelclock_t *clock;
 
        /** @brief The number of threads recorded in clock (i.e., its length).  */
        int num_threads;