aboutsummaryrefslogtreecommitdiff
path: root/src/serialize.h
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2018-07-23 12:42:40 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2018-07-23 12:52:53 +0200
commitc0a47da7250586dd2a6b7ba368a876ba8c6a15f2 (patch)
treea9a4b3a8d624e96d3212177e3b9e6092554e9308 /src/serialize.h
parentd2186b3db61a9d4dc2d4a6211573790d9e34bf58 (diff)
parent84547fa6d408bdda1685f6d5972232bb19d97a7d (diff)
downloadbitcoin-c0a47da7250586dd2a6b7ba368a876ba8c6a15f2.tar.xz
Merge #13719: Avoid creating a temporary vector for size-prefixed elements
84547fa6d408bdda1685f6d5972232bb19d97a7d Avoid creating a temporary vector for size-prefixed elements (Pieter Wuille) Pull request description: This is a simple improvement to the PSBT serialization code, avoiding the need for temporary vectors everywhere. Tree-SHA512: 9f7243b7169ec8ba00ffad31af03c016ab84e4f76ebac810167f91f5e8008f3827ad59fbcee0cb2bd2334fc26466eb222404af24e7fb6ec040fd78229ebe0fd1
Diffstat (limited to 'src/serialize.h')
-rw-r--r--src/serialize.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/serialize.h b/src/serialize.h
index df3b47ba87..627225b6ef 100644
--- a/src/serialize.h
+++ b/src/serialize.h
@@ -991,4 +991,12 @@ size_t GetSerializeSize(const S& s, const T& t)
return (CSizeComputer(s.GetType(), s.GetVersion()) << t).size();
}
+template <typename S, typename... T>
+size_t GetSerializeSizeMany(const S& s, const T&... t)
+{
+ CSizeComputer sc(s.GetType(), s.GetVersion());
+ SerializeMany(sc, t...);
+ return sc.size();
+}
+
#endif // BITCOIN_SERIALIZE_H