VST 3 SDK  VST 3.7
SDK for developing VST plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
MemoryStream Class Reference

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
 
chargetData () const
 returns the memory pointer
 
chardetachData ()
 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

charmemory
 
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 ( 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.