Version: 3.3.0
wxMemoryOutputStream Class Reference

#include <wx/mstream.h>

+ Inheritance diagram for wxMemoryOutputStream:

Detailed Description

This class allows using all methods taking a wxOutputStream reference to write to in-memory data.

Example:

if (!my_wxImage.SaveFile(stream))
return;
// now we can access the saved image bytes:
wxStreamBuffer* theBuffer = stream.GetOutputStreamBuffer();
unsigned char byte;
if (theBuffer->Read(byte, 1) != 1)
return;
// ... do something with 'byte'...
// remember that ~wxMemoryOutputStream will destroy the internal
// buffer since we didn't provide our own when constructing it
This class allows using all methods taking a wxOutputStream reference to write to in-memory data.
Definition: mstream.h:38
wxStreamBuffer * GetOutputStreamBuffer() const
Returns the pointer to the stream object used as an internal buffer for this stream.
wxStreamBuffer is a cache manager for wxStreamBase: it manages a stream buffer linked to a stream.
Definition: stream.h:150
virtual size_t Read(void *buffer, size_t size)
Reads a block of the specified size and stores the data in buffer.

Library:  wxBase
Category:  Streams
See also
wxStreamBuffer

Public Member Functions

 wxMemoryOutputStream (void *data=nullptr, size_t length=0)
 If data is nullptr, then it will initialize a new empty buffer which will grow if required. More...
 
virtual ~wxMemoryOutputStream ()
 Destructor. More...
 
size_t CopyTo (void *buffer, size_t len) const
 Allows you to transfer data from the internal buffer of wxMemoryOutputStream to an external buffer. More...
 
wxStreamBufferGetOutputStreamBuffer () const
 Returns the pointer to the stream object used as an internal buffer for this stream. More...
 
- Public Member Functions inherited from wxOutputStream
 wxOutputStream ()
 Creates a dummy wxOutputStream object. More...
 
virtual ~wxOutputStream ()
 Destructor. More...
 
virtual bool Close ()
 Closes the stream, returning false if an error occurs. More...
 
virtual size_t LastWrite () const
 Returns the number of bytes written during the last Write(). More...
 
void PutC (char c)
 Puts the specified character in the output queue and increments the stream position. More...
 
virtual wxFileOffset SeekO (wxFileOffset pos, wxSeekMode mode=wxFromStart)
 Changes the stream current position. More...
 
virtual wxFileOffset TellO () const
 Returns the current stream position. More...
 
virtual wxOutputStreamWrite (const void *buffer, size_t size)
 Writes up to the specified amount of bytes using the data of buffer. More...
 
wxOutputStreamWrite (wxInputStream &stream_in)
 Reads data from the specified input stream and stores them in the current stream. More...
 
bool WriteAll (const void *buffer, size_t size)
 Writes exactly the specified number of bytes from the buffer. More...
 
- Public Member Functions inherited from wxStreamBase
 wxStreamBase ()
 Creates a dummy stream object. More...
 
virtual ~wxStreamBase ()
 Destructor. More...
 
wxStreamError GetLastError () const
 This function returns the last error. More...
 
virtual wxFileOffset GetLength () const
 Returns the length of the stream in bytes. More...
 
virtual size_t GetSize () const
 This function returns the size of the stream. More...
 
virtual bool IsOk () const
 Returns true if no error occurred on the stream. More...
 
virtual bool IsSeekable () const
 Returns true if the stream supports seeking to arbitrary offsets. More...
 
void Reset (wxStreamError error=wxSTREAM_NO_ERROR)
 Resets the stream state. More...
 
bool operator! () const
 Returns the opposite of IsOk(). More...
 

Additional Inherited Members

- Protected Member Functions inherited from wxOutputStream
size_t OnSysWrite (const void *buffer, size_t bufsize)
 Internal function. More...
 
- Protected Member Functions inherited from wxStreamBase
virtual wxFileOffset OnSysSeek (wxFileOffset pos, wxSeekMode mode)
 Internal function. More...
 
virtual wxFileOffset OnSysTell () const
 Internal function. More...
 

Constructor & Destructor Documentation

◆ wxMemoryOutputStream()

wxMemoryOutputStream::wxMemoryOutputStream ( void *  data = nullptr,
size_t  length = 0 
)

If data is nullptr, then it will initialize a new empty buffer which will grow if required.

Warning
If the buffer is created by wxMemoryOutputStream, it will be destroyed at the destruction of the stream.

◆ ~wxMemoryOutputStream()

virtual wxMemoryOutputStream::~wxMemoryOutputStream ( )
virtual

Destructor.

If the buffer wasn't provided by the user, it will be deleted here.

Member Function Documentation

◆ CopyTo()

size_t wxMemoryOutputStream::CopyTo ( void *  buffer,
size_t  len 
) const

Allows you to transfer data from the internal buffer of wxMemoryOutputStream to an external buffer.

len specifies the size of the buffer.

◆ GetOutputStreamBuffer()

wxStreamBuffer* wxMemoryOutputStream::GetOutputStreamBuffer ( ) const

Returns the pointer to the stream object used as an internal buffer for this stream.