diff options
-rw-r--r-- | lib/common/CollectInBufferStream.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/common/CollectInBufferStream.h b/lib/common/CollectInBufferStream.h index 03cb5da8..69188c75 100644 --- a/lib/common/CollectInBufferStream.h +++ b/lib/common/CollectInBufferStream.h @@ -26,12 +26,24 @@ class CollectInBufferStream : public IOStream public: CollectInBufferStream(); ~CollectInBufferStream(); + + // Move constructor: + CollectInBufferStream(CollectInBufferStream& rOther) + : mBuffer(rOther.mBuffer.Release()), + mBufferSize(rOther.mBufferSize), + mBytesInBuffer(rOther.mBytesInBuffer), + mReadPosition(rOther.mReadPosition), + mInWritePhase(rOther.mInWritePhase) + { + rOther.Reset(); + } + private: - // No copying + // No copying (only moving, as defined above) CollectInBufferStream(const CollectInBufferStream &); CollectInBufferStream(const IOStream &); -public: +public: virtual int Read(void *pBuffer, int NBytes, int Timeout = IOStream::TimeOutInfinite); virtual pos_type BytesLeftToRead(); virtual void Write(const void *pBuffer, int NBytes, |