VST 3 SDK: MemoryStream Class Reference
Author: Steinberg

VST 3 SDK VST 3.7 SDK for developing VST plug-in

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
MemoryStream Class Reference
Common SDK Implementation Helper Classes

Memory based Stream for IBStream implementation (using malloc). More...

`#include <memorystream.h>`

Inheritance diagram for MemoryStream:

## Public Member Functions
| MemoryStream ()
| MemoryStream (void *memory, TSize memorySize)
| reuse a given memory without getting ownership
virtual | ~MemoryStream ()
tresult | read (void *buffer, int32 numBytes, int32 *numBytesRead) SMTG_OVERRIDE
tresult | write (void *buffer, int32 numBytes, int32 *numBytesWritten) SMTG_OVERRIDE
tresult | seek (int64 pos, int32 mode, int64 *result) SMTG_OVERRIDE
tresult | tell (int64 *pos) SMTG_OVERRIDE
TSize | getSize () const
| returns the current memory size
void | setSize (TSize size)
| set the memory size, a realloc will occur if memory already used
char * | getData () const
| returns the memory pointer
char * | detachData ()
| returns the memory pointer and give up ownership
bool | truncate ()
| realloc to the current use memory size if needed
bool | truncateToCursor ()
| truncate memory at current cursor position

## Protected Attributes
char * | memory
TSize | memorySize
TSize | size
int64 | cursor
bool | ownMemory
bool | allocationError

## Additional Inherited Members
Public Types inherited from IBStream
enum | IStreamSeekMode
Public Attributes inherited from IBStream
| kIBSeekSet
| kIBSeekCur
| kIBSeekEnd
Static Public Attributes inherited from IBStream
static const FUID | iid

## Detailed Description

Memory based Stream for IBStream implementation (using malloc).

## Constructor & Destructor Documentation

MemoryStream | ( |  | ) |

MemoryStream | ( | void * | memory,
|  | TSize | memorySize
| ) |  |

reuse a given memory without getting ownership

virtual ~MemoryStream | ( |  | ) |
| virtual

## Member Function Documentation

tresult read | ( | void * | buffer,
|  | int32 | numBytes,
|  | int32 * | numBytesRead
| ) |  |
| virtual

Implements IBStream.

tresult write | ( | void * | buffer,
|  | int32 | numBytes,
|  | int32 * | numBytesWritten
| ) |  |
| virtual

Implements IBStream.

tresult seek | ( | int64 | pos,
|  | int32 | mode,
|  | int64 * | result
| ) |  |
| virtual

Implements IBStream.

tresult tell | ( | int64 * | pos | ) |
| virtual

Implements IBStream.

TSize getSize | ( |  | ) | const

returns the current memory size

void setSize | ( | TSize | size | ) |

set the memory size, a realloc will occur if memory already used

char* getData | ( |  | ) | const

returns the memory pointer

char* detachData | ( |  | ) |

returns the memory pointer and give up ownership

bool truncate | ( |  | ) |

realloc to the current use memory size if needed

bool truncateToCursor | ( |  | ) |

truncate memory at current cursor position

## Member Data Documentation

char* memory
| protected

TSize memorySize
| protected

TSize size
| protected

int64 cursor
| protected

bool ownMemory
| protected

bool allocationError
| protected

Empty

Copyright ©2022 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.