+
+ /**
+ Constructor, creates a new stream buffer using @a stream as a parent stream
+ and mode as the IO mode.
+
+ @param stream
+ The parent stream.
+ @param mode
+ Can be: wxStreamBuffer::read, wxStreamBuffer::write, wxStreamBuffer::read_write.
+
+ One stream can have many stream buffers but only one is used internally
+ to pass IO call (e.g. wxInputStream::Read() -> wxStreamBuffer::Read()),
+ but you can call directly wxStreamBuffer::Read without any problems.
+ Note that all errors and messages linked to the stream are stored in the
+ stream, not the stream buffers:
+
+ @code
+ streambuffer.Read(...);
+ streambuffer2.Read(...);
+ // This call erases previous error messages set by 'streambuffer'
+ // assuming that both instances are stream buffers for the same stream
+ @endcode
+
+ @see SetBufferIO()
+ */
+ wxStreamBuffer(wxStreamBase& stream, BufMode mode);
+
+ /**
+ Constructor for an input buffer of the specified size.
+
+ Using it is equivalent to using the constructor above with read mode
+ and calling SetBufferIO() but is more convenient.
+
+ @since 2.9.0
+ */
+ wxStreamBuffer(wxInputStream& stream, size_t bufsize);
+
+ /**
+ Constructor for an output buffer of the specified size.
+
+ Using it is equivalent to using the constructor above with write mode
+ and calling SetBufferIO() but is more convenient.
+
+ @since 2.9.0
+ */
+ wxStreamBuffer(wxOutputStream& stream, size_t bufsize);
+
+ /**
+ Constructor; creates a new empty stream buffer which won't flush any data
+ to a stream. mode specifies the type of the buffer (read, write, read_write).
+
+ This stream buffer has the advantage to be stream independent and to work
+ only on memory buffers but it is still compatible with the rest of the
+ wxStream classes. You can write, read to this special stream and it will
+ grow (if it is allowed by the user) its internal buffer.
+ Briefly, it has all functionality of a "normal" stream.
+
+ @warning
+ The "read_write" mode doesn't currently work for standalone stream buffers.
+
+ @see SetBufferIO()
+ */
+ wxStreamBuffer(BufMode mode);
+