FStreamSizeHolder Declaration remembers size of stream chunk for backward compatibility. More...
#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 |
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 }
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
int64 sizePos [protected] |