Move func 'REF' from util.h to serialize.h
authorGiel van Schijndel <me@mortis.eu>
Thu, 11 Aug 2011 16:12:14 +0000 (18:12 +0200)
committerGiel van Schijndel <me@mortis.eu>
Fri, 19 Aug 2011 05:24:38 +0000 (07:24 +0200)
util.h doesn't use REF, serialize.h does, creating a dependency of
serialize.h on util.h, but util.h already depends on serialize.h.  To
resolve this circular dependency the function 'REF' has now been moved
closer to one of its two points of use.

Signed-off-by: Giel van Schijndel <me@mortis.eu>

src/serialize.h
src/util.h

index c557752..0a31ff5 100644 (file)
@@ -63,10 +63,13 @@ static const int VERSION = 32500;
 static const char* pszSubVer = "";
 static const bool VERSION_IS_BETA = true;
 
-
-
-
-
+// Used to bypass the rule against non-const reference to temporary
+// where it makes sense with wrappers such as CFlatData or CTxDB
+template<typename T>
+inline T& REF(const T& val)
+{
+    return const_cast<T&>(val);
+}
 
 /////////////////////////////////////////////////////////////////
 //
index 1e4ceb2..3d7ef10 100644 (file)
@@ -67,14 +67,6 @@ typedef unsigned long long  uint64;
 // This is needed because the foreach macro can't get over the comma in pair<t1, t2>
 #define PAIRTYPE(t1, t2)    pair<t1, t2>
 
-// Used to bypass the rule against non-const reference to temporary
-// where it makes sense with wrappers such as CFlatData or CTxDB
-template<typename T>
-inline T& REF(const T& val)
-{
-    return (T&)val;
-}
-
 // Align by increasing pointer, must have extra space at end of buffer
 template <size_t nBytes, typename T>
 T* alignup(T* p)