aboutsummaryrefslogtreecommitdiff
path: root/src/serialization
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialization')
-rw-r--r--src/serialization/crypto.h1
-rw-r--r--src/serialization/serialization.h6
-rw-r--r--src/serialization/vector.h5
3 files changed, 12 insertions, 0 deletions
diff --git a/src/serialization/crypto.h b/src/serialization/crypto.h
index 3644b0e03..9a7e89c49 100644
--- a/src/serialization/crypto.h
+++ b/src/serialization/crypto.h
@@ -92,3 +92,4 @@ VARIANT_TAG(debug_archive, crypto::secret_key, "secret_key");
VARIANT_TAG(debug_archive, crypto::key_derivation, "key_derivation");
VARIANT_TAG(debug_archive, crypto::key_image, "key_image");
VARIANT_TAG(debug_archive, crypto::signature, "signature");
+
diff --git a/src/serialization/serialization.h b/src/serialization/serialization.h
index 8e277a46a..177cdf33a 100644
--- a/src/serialization/serialization.h
+++ b/src/serialization/serialization.h
@@ -102,6 +102,12 @@ inline bool do_serialize(Archive &ar, T &v)
{
return ::serializer<Archive, T>::serialize(ar, v);
}
+template <class Archive>
+inline bool do_serialize(Archive &ar, bool &v)
+{
+ ar.serialize_blob(&v, sizeof(v));
+ return true;
+}
// Never used in the code base
// #ifndef __GNUC__
diff --git a/src/serialization/vector.h b/src/serialization/vector.h
index a2a69f841..7f2bc78ba 100644
--- a/src/serialization/vector.h
+++ b/src/serialization/vector.h
@@ -32,6 +32,11 @@
#include "serialization.h"
+template <template <bool> class Archive, class T>
+bool do_serialize(Archive<false> &ar, std::vector<T> &v);
+template <template <bool> class Archive, class T>
+bool do_serialize(Archive<true> &ar, std::vector<T> &v);
+
namespace serialization
{
namespace detail