Skip to content

Commit

Permalink
[Core] Add GetSerializeSizeNetwork for generic (non-array) Optionals
Browse files Browse the repository at this point in the history
  • Loading branch information
random-zebra committed Apr 7, 2021
1 parent 211b36d commit 69662f8
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/serialize.h
Expand Up @@ -581,6 +581,7 @@ template<typename Stream, typename T, std::size_t N> void Unserialize(Stream& is
* optional
*/
template<typename T> unsigned int GetSerializeSize(const Optional<T> &item);
template<typename T> unsigned int GetSerializeSizeNetwork(const Optional<T> &item);
template<typename Stream, typename T> void Serialize(Stream& os, const Optional<T>& item);
template<typename Stream, typename T> void Unserialize(Stream& is, Optional<T>& item);

Expand Down Expand Up @@ -610,6 +611,16 @@ unsigned int GetSerializeSize(const Optional<T> &item)
}
}

template<typename T>
unsigned int GetSerializeSizeNetwork(const Optional<T> &item)
{
if (item) {
return 1 + GetSerializeSize(*item, SER_NETWORK, 0);
} else {
return 1;
}
}

template<typename Stream, typename T>
void Serialize(Stream& os, const Optional<T>& item)
{
Expand Down

0 comments on commit 69662f8

Please sign in to comment.