Core/PacketIO: Added missing move assignment operator to ByteBuffer

This commit is contained in:
Shauren
2018-04-19 17:35:57 +02:00
parent 6d069b631f
commit fcb1e3e642
6 changed files with 33 additions and 29 deletions

View File

@@ -74,11 +74,13 @@ class TC_SHARED_API ByteBuffer
_storage.reserve(reserve);
}
ByteBuffer(ByteBuffer&& buf) : _rpos(buf._rpos), _wpos(buf._wpos),
_storage(std::move(buf._storage)) { }
ByteBuffer(ByteBuffer&& buf) : _rpos(buf._rpos), _wpos(buf._wpos), _storage(std::move(buf._storage))
{
buf._rpos = 0;
buf._wpos = 0;
}
ByteBuffer(ByteBuffer const& right) : _rpos(right._rpos), _wpos(right._wpos),
_storage(right._storage) { }
ByteBuffer(ByteBuffer const& right) : _rpos(right._rpos), _wpos(right._wpos), _storage(right._storage) { }
ByteBuffer(MessageBuffer&& buffer);
@@ -94,6 +96,20 @@ class TC_SHARED_API ByteBuffer
return *this;
}
ByteBuffer& operator=(ByteBuffer&& right)
{
if (this != &right)
{
_rpos = right._rpos;
right._rpos = 0;
_wpos = right._wpos;
right._wpos = 0;
_storage = std::move(right._storage);
}
return *this;
}
virtual ~ByteBuffer() { }
void clear()