Avoid creating a temporary vector for size-prefixed elements

This commit is contained in:
Pieter Wuille
2018-07-18 17:52:43 -07:00
parent 4a3e8c5aa6
commit 84547fa6d4
2 changed files with 16 additions and 10 deletions

View File

@@ -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