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] |