LMMS
Loading...
Searching...
No Matches
Steinberg::FStreamSizeHolder Class Reference

#include <fstreamer.h>

Public Member Functions

 FStreamSizeHolder (FStreamer &s)
void beginWrite ()
 remembers position and writes 0
int32 endWrite ()
 writes and returns size (since the start marker)
int32 beginRead ()
 returns size
void endRead ()
 jump to end of chunk

Protected Attributes

FStreamerstream
int64 sizePos

Detailed Description

FStreamSizeHolder Declaration remembers size of stream chunk for backward compatibility.

Example:

externalize (a)
{
FStreamSizeHolder sizeHolder;
sizeHolder.beginWrite (); // sets start mark, writes dummy size
a << ....
sizeHolder.endWrite (); // jumps to start mark, updates size, jumps back here
}
internalize (a)
{
FStreamSizeHolder sizeHolder;
sizeHolder.beginRead (); // reads size, mark
a >> ....
sizeHolder.endRead (); // jumps forward if new version has larger size
}
uint8_t a
Definition Spc_Cpu.h:141
Definition fstreamer.h:200
FStreamSizeHolder(FStreamer &s)
Definition fstreamer.cpp:93
void beginWrite()
remembers position and writes 0
Definition fstreamer.cpp:98
void endRead()
jump to end of chunk
Definition fstreamer.cpp:131
int32 endWrite()
writes and returns size (since the start marker)
Definition fstreamer.cpp:105
int32 beginRead()
returns size
Definition fstreamer.cpp:121

Constructor & Destructor Documentation

◆ FStreamSizeHolder()

Steinberg::FStreamSizeHolder::FStreamSizeHolder ( FStreamer & s)

Member Function Documentation

◆ beginRead()

int32 Steinberg::FStreamSizeHolder::beginRead ( )

returns size

◆ beginWrite()

void Steinberg::FStreamSizeHolder::beginWrite ( )

remembers position and writes 0

◆ endRead()

void Steinberg::FStreamSizeHolder::endRead ( )

jump to end of chunk

◆ endWrite()

int32 Steinberg::FStreamSizeHolder::endWrite ( )

writes and returns size (since the start marker)

Member Data Documentation

◆ sizePos

int64 Steinberg::FStreamSizeHolder::sizePos
protected

◆ stream

FStreamer& Steinberg::FStreamSizeHolder::stream
protected

The documentation for this class was generated from the following files: