unrelacy: fixup header
authorBrian Norris <banorris@uci.edu>
Thu, 11 Oct 2012 00:13:16 +0000 (17:13 -0700)
committerBrian Norris <banorris@uci.edu>
Thu, 11 Oct 2012 01:04:30 +0000 (18:04 -0700)
include/unrelacy.h

index f4d75e8648c88dd6d9b7f5053dbc986ac394b9e0..3f2e5ebdf429b918b0624a81be88c4100ac47de7 100644 (file)
@@ -1,9 +1,16 @@
+#ifndef __UNRELACY_H__
+#define __UNRELACY_H__
+
 #include <stdatomic.h>
 
 #define $
 
 /* Should re-define to something meaningful */
 #define ASSERT(expr)
+#define RL_ASSERT(expr)
+
+#define RL_NEW new
+#define RL_DELETE(expr) delete expr
 
 #define mo_seqcst memory_order_relaxed
 #define mo_release memory_order_release
 
 namespace rl {
 
+       template <typename T>
+       struct var {
+               var() { value = 0; }
+               var(T v) { value = v; }
+               var(var const& r) { value = r; }
+               ~var() { }
+
+               void operator = (T v) { value = v; }
+               T operator () () { return value; }
+               void operator += (T v) { value += v; }
+
+               T value;
+       };
+
        class backoff_t
        {
         public:
@@ -27,3 +48,5 @@ namespace rl {
        typedef backoff_t exp_backoff;
 
 }
+
+#endif /* __UNRELACY_H__ */