aboutsummaryrefslogtreecommitdiff
path: root/src/serialization/vector.h
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2017-09-25 22:27:43 +0200
committerRiccardo Spagni <ric@spagni.net>2017-09-25 22:27:44 +0200
commit29d601563fff1a23fa5c21de8c455d542b1adfe3 (patch)
tree4a071ec0ef979f020a2cf567973e02087494e8b9 /src/serialization/vector.h
parentMerge pull request #2466 (diff)
parentwallet2: do not keep block hashes below last checkpoint (diff)
downloadmonero-29d601563fff1a23fa5c21de8c455d542b1adfe3.tar.xz
Merge pull request #2434
36c3465b wallet2: do not keep block hashes below last checkpoint (moneromooo-monero) cdbbe99c checkpoints: add a token checkpoint on testnet (the genesis block) (moneromooo-monero) 493fad80 serialization: add deque serialization (moneromooo-monero) fa54b205 fix typo in basic and core CMakeLists.txt (moneromooo-monero) 5d65a75b move checkpoints in a separate library (moneromooo-monero)
Diffstat (limited to 'src/serialization/vector.h')
-rw-r--r--src/serialization/vector.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/serialization/vector.h b/src/serialization/vector.h
index 598cfb92e..12fd59558 100644
--- a/src/serialization/vector.h
+++ b/src/serialization/vector.h
@@ -37,6 +37,11 @@ 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);
+template <template <bool> class Archive, class T>
+bool do_serialize(Archive<false> &ar, std::deque<T> &v);
+template <template <bool> class Archive, class T>
+bool do_serialize(Archive<true> &ar, std::deque<T> &v);
+
namespace serialization
{
namespace detail
@@ -64,7 +69,7 @@ namespace serialization
}
template <template <bool> class Archive, class T>
-bool do_serialize(Archive<false> &ar, std::vector<T> &v)
+bool do_serialize_vd(Archive<false> &ar, T &v)
{
size_t cnt;
ar.begin_array(cnt);
@@ -93,7 +98,7 @@ 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)
+bool do_serialize_vd(Archive<true> &ar, T &v)
{
size_t cnt = v.size();
ar.begin_array(cnt);
@@ -110,3 +115,13 @@ bool do_serialize(Archive<true> &ar, std::vector<T> &v)
ar.end_array();
return true;
}
+
+template <template <bool> class Archive, class T>
+bool do_serialize(Archive<false> &ar, std::vector<T> &v) { return do_serialize_vd(ar, v); }
+template <template <bool> class Archive, class T>
+bool do_serialize(Archive<true> &ar, std::vector<T> &v) { return do_serialize_vd(ar, v); }
+
+template <template <bool> class Archive, class T>
+bool do_serialize(Archive<false> &ar, std::deque<T> &v) { return do_serialize_vd(ar, v); }
+template <template <bool> class Archive, class T>
+bool do_serialize(Archive<true> &ar, std::deque<T> &v) { return do_serialize_vd(ar, v); }