summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/common/CollectInBufferStream.h16
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,