X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=clockvector.h;h=6a902c5215342bae0313d56b3e6cfa8267bd79cf;hb=7f9eb951a3ee0443169dd21ddc914df4a04c9aab;hp=f56d8d5089b28a86b368214b9b68ae5cf1feed59;hpb=75ecaf106e4fc0d2ad2f3d82d089cf8a9956e41a;p=model-checker.git diff --git a/clockvector.h b/clockvector.h index f56d8d5..6a902c5 100644 --- a/clockvector.h +++ b/clockvector.h @@ -5,10 +5,9 @@ #ifndef __CLOCKVECTOR_H__ #define __CLOCKVECTOR_H__ -#include "threads.h" #include "mymemory.h" +#include "modeltypes.h" -typedef unsigned int modelclock_t; /* Forward declaration */ class ModelAction; @@ -16,13 +15,14 @@ class ClockVector { public: ClockVector(ClockVector *parent = NULL, ModelAction *act = NULL); ~ClockVector(); - void merge(ClockVector *cv); - bool synchronized_since(ModelAction *act) const; + void merge(const ClockVector *cv); + bool synchronized_since(const ModelAction *act) const; + bool has_synchronized_with(const ClockVector *cv) const; void print() const; - int getClock(thread_id_t thread); + modelclock_t getClock(thread_id_t thread); - MEMALLOC + SNAPSHOTALLOC private: /** @brief Holds the actual clock data, as an array. */ modelclock_t *clock;