aboutsummaryrefslogtreecommitdiff
path: root/src/serialization
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialization')
-rw-r--r--src/serialization/crypto.h2
-rw-r--r--src/serialization/serialization.h6
2 files changed, 7 insertions, 1 deletions
diff --git a/src/serialization/crypto.h b/src/serialization/crypto.h
index 89d3c9885..b7763ffeb 100644
--- a/src/serialization/crypto.h
+++ b/src/serialization/crypto.h
@@ -2,6 +2,8 @@
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#include <vector>
+
#include "serialization.h"
#include "debug_archive.h"
#include "crypto/chacha8.h"
diff --git a/src/serialization/serialization.h b/src/serialization/serialization.h
index 2e69ea0a3..7024fdc03 100644
--- a/src/serialization/serialization.h
+++ b/src/serialization/serialization.h
@@ -10,6 +10,7 @@
#include <vector>
#include <string>
#include <boost/type_traits/is_integral.hpp>
+#include <boost/type_traits/integral_constant.hpp>
template <class T>
struct is_blob_type { typedef boost::false_type type; };
@@ -79,8 +80,10 @@ inline bool do_serialize(Archive &ar, T &v)
if (!r || !ar.stream().good()) return false; \
} while(0);
#define FIELDS(f) \
+ do { \
bool r = ::do_serialize(ar, f); \
- if (!r || !ar.stream().good()) return false;
+ if (!r || !ar.stream().good()) return false; \
+ } while(0);
#define FIELD(f) \
do { \
ar.tag(#f); \
@@ -99,6 +102,7 @@ inline bool do_serialize(Archive &ar, T &v)
ar.serialize_varint(f); \
if (!ar.stream().good()) return false; \
} while(0);
+
namespace serialization {
namespace detail
{