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

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 More...
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 More...
void | setSize (TSize size)
| set the memory size, a realloc will occur if memory already used More...
char * | getData () const
| returns the memory pointer More...
char * | detachData ()
| returns the memory pointer and give up ownership More...
bool | truncate ()
| realloc to the current use memory size if needed More...
bool | truncateToCursor ()
| truncate memory at current cursor position More...
virtual tresult | read (void *buffer, int32 numBytes, int32 *numBytesRead=nullptr)=0
virtual tresult | write (void *buffer, int32 numBytes, int32 *numBytesWritten=nullptr)=0
virtual tresult | seek (int64 pos, int32 mode, int64 *result=nullptr)=0
virtual tresult | tell (int64 *pos)=0
Public Member Functions inherited from FUnknown
virtual tresult | queryInterface (const TUID _iid, void **obj)=0
virtual uint32 | addRef ()=0
virtual uint32 | release ()=0

## 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
Static Public Attributes inherited from FUnknown
static const FUID | iid

## Detailed Description

Memory based Stream for IBStream implementation (using malloc).

## Constructor & Destructor Documentation

## ◆ MemoryStream() [1/2]

MemoryStream | ( |  | ) |

## ◆ MemoryStream() [2/2]

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

reuse a given memory without getting ownership

## ◆ ~MemoryStream()

virtual ~MemoryStream | ( |  | ) |
| virtual

## Member Function Documentation

## ◆ read()

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

Implements IBStream.

## ◆ write()

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

Implements IBStream.

## ◆ seek()

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

Implements IBStream.

## ◆ tell()

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

Implements IBStream.

## ◆ getSize()

TSize getSize | ( |  | ) | const

returns the current memory size

## ◆ setSize()

void setSize | ( | TSize | size | ) |

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

## ◆ getData()

char * getData | ( |  | ) | const

returns the memory pointer

## ◆ detachData()

char * detachData | ( |  | ) |

returns the memory pointer and give up ownership

## ◆ truncate()

bool truncate | ( |  | ) |

realloc to the current use memory size if needed

## ◆ truncateToCursor()

bool truncateToCursor | ( |  | ) |

truncate memory at current cursor position

## Member Data Documentation

## ◆ memory

char* memory
| protected

## ◆ memorySize

TSize memorySize
| protected

## ◆ size

TSize size
| protected

## ◆ cursor

int64 cursor
| protected

## ◆ ownMemory

bool ownMemory
| protected

## ◆ allocationError

bool allocationError
| protected

Empty

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