VST 3 SDK VST 3.7
SDK for developing VST plug-in
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 () const
 returns the current memory size More...
 
void setSize (TSize size)
 set the memory size, a realloc will occur if memory already used More...
 
chargetData () const
 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...
 
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

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
 
- 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() [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.