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

FStreamer & stream
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: