VST 3 SDK  VST 3.6.14
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 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 ()
 returns the current memory size More...
 
void setSize (TSize size)
 set the memory size, a realloc will occur if memory already used More...
 
chargetData ()
 returns the memory pointer More...
 
chardetachData ()
 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...
 
- 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

charmemory
 
TSize memorySize
 
TSize size
 
int64 cursor
 
bool ownMemory
 
bool allocationError
 

Additional Inherited Members

- Public Types inherited from IBStream
enum  IStreamSeekMode
 
- 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 ( 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 ( )

returns the current memory size

void setSize ( TSize  size)

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

char* getData ( )

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 ©2019 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.