VST 3 SDK: MemoryStream Class Reference
Author: Steinberg

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

Loading...
Searching...
No Matches
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
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.