+class ClockVector;
+class Thread;
+
+using std::memory_order;
+using std::memory_order_relaxed;
+using std::memory_order_acquire;
+using std::memory_order_release;
+using std::memory_order_acq_rel;
+using std::memory_order_seq_cst;
+
+/** Note that this value can be legitimately used by a program, and
+ hence by iteself does not indicate no value. */
+
+#define VALUE_NONE 0xdeadbeef
+
+/** A special value to represent a successful trylock */
+
+#define VALUE_TRYSUCCESS 1
+
+/** A special value to represent a failed trylock */
+#define VALUE_TRYFAILED 0