diff options
Diffstat (limited to 'src/serialization')
-rw-r--r-- | src/serialization/crypto.h | 1 | ||||
-rw-r--r-- | src/serialization/serialization.h | 6 | ||||
-rw-r--r-- | src/serialization/vector.h | 5 |
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 |