# wxMemoryOutputStream Class Reference
[Streams]

`#include </home/work/projects/wx/2.9/wx/interface/wx/mstream.h>`

Inheritance diagram for wxMemoryOutputStream:
[legend]

## Detailed Description

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

Example:

            wxMemoryOutputStream stream;
            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

##

Library: wxBase
Category: Streams

See also:
  wxStreamBuffer

## Public Member Functions

| wxMemoryOutputStream (void *data=NULL, size_t length=0)
| If data is NULL, then it will initialize a new empty buffer which will grow if required.
virtual | ~wxMemoryOutputStream ()
| Destructor.
size_t | CopyTo (void *buffer, size_t len) const
| Allows you to transfer data from the internal buffer of wxMemoryOutputStream to an external buffer.
wxStreamBuffer * | GetOutputStreamBuffer () const
| Returns the pointer to the stream object used as an internal buffer for this stream.

List of all members.

## Constructor & Destructor Documentation

wxMemoryOutputStream::wxMemoryOutputStream | ( | void * | data = `NULL`,
|  | size_t | length = `0` |
| ) |  |  |

If data is NULL, 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.

virtual wxMemoryOutputStream::~wxMemoryOutputStream | ( |  | ) | `[virtual]`

Destructor.

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

## Member Function Documentation

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.

wxStreamBuffer* wxMemoryOutputStream::GetOutputStreamBuffer | ( |  | ) | const

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

|  | [ top ]