X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=clockvector.h;h=6a902c5215342bae0313d56b3e6cfa8267bd79cf;hb=d27984bb297795f4e9a4531e2730d8188a799e89;hp=7f32b7e6cbfba459ba97420a1624c02fd010b6be;hpb=5d9ce304699f07a7203ca4ceb246b482720c031e;p=model-checker.git diff --git a/clockvector.h b/clockvector.h index 7f32b7e..6a902c5 100644 --- a/clockvector.h +++ b/clockvector.h @@ -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,17 @@ 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; + bool has_synchronized_with(const ClockVector *cv) 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;