template <class T>
void serialPBOnlyBody(/*::google::protobuf::Message*/T& b, uint32 len)
{
if (isReading())
{
if (lengthS() + len > length()) // calls virtual length (cf. sub messages)
throw EStreamOverflow();
// Serialize in
b.ParseFromArray(_Buffer.getBuffer().getPtr() + _Buffer.Pos, len);
}
else
{
increaseBufferIfNecessary(len);
b.SerializeToArray((void*)(_Buffer.getBuffer().getPtr() + _Buffer.Pos), len);
}
_Buffer.Pos += len;
}
void serialPBOnlyBody(/*::google::protobuf::Message*/T& b, uint32 len)
{
if (isReading())
{
if (lengthS() + len > length()) // calls virtual length (cf. sub messages)
throw EStreamOverflow();
// Serialize in
b.ParseFromArray(_Buffer.getBuffer().getPtr() + _Buffer.Pos, len);
}
else
{
increaseBufferIfNecessary(len);
b.SerializeToArray((void*)(_Buffer.getBuffer().getPtr() + _Buffer.Pos), len);
}
_Buffer.Pos += len;
}