projects
/
c11tester.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Small edits
[c11tester.git]
/
clockvector.h
diff --git
a/clockvector.h
b/clockvector.h
index c4aabeb162829cf4883c1c546e2df0651fbfe5eb..1a36a39dc040838f2c37b8166a8faf9b9a6a80fd 100644
(file)
--- a/
clockvector.h
+++ b/
clockvector.h
@@
-1,23
+1,32
@@
+/** @file clockvector.h
+ * @brief Implements a clock vector.
+ */
+
#ifndef __CLOCKVECTOR_H__
#define __CLOCKVECTOR_H__
#ifndef __CLOCKVECTOR_H__
#define __CLOCKVECTOR_H__
-#include "threads.h"
#include "mymemory.h"
#include "mymemory.h"
-
-/* Forward declaration */
-class ModelAction;
+#include "modeltypes.h"
+#include "classlist.h"
class ClockVector {
public:
class ClockVector {
public:
- ClockVector(ClockVector *parent = NULL, ModelAction *act = NULL);
+ ClockVector(ClockVector *parent = NULL,
const
ModelAction *act = NULL);
~ClockVector();
~ClockVector();
- void merge(ClockVector *cv);
- bool happens_before(ModelAction *act, thread_id_t id);
+ bool merge(const ClockVector *cv);
+ bool minmerge(const ClockVector *cv);
+ bool synchronized_since(const ModelAction *act) const;
- MEMALLOC
+ void print() const;
+ modelclock_t getClock(thread_id_t thread);
+
+ SNAPSHOTALLOC
private:
private:
- int *clock;
+ /** @brief Holds the actual clock data, as an array. */
+ modelclock_t *clock;
+
+ /** @brief The number of threads recorded in clock (i.e., its length). */
int num_threads;
};
int num_threads;
};
-#endif /* __CLOCKVECTOR_H__ */
+#endif /* __CLOCKVECTOR_H__ */