The offset is incremented. If this member is called when the offset is equal to the shared memorys maximum offset an FBB::Exception is thrown.
void operator+=(size_t len):
The offset is incremented by len. If offset + len exceeds the shared memorys maximum offset then the offset is set to the maximum offset and an FBB::Exception is thrown.
std::ostream &operator<<(std::ostream &out, SharedPos const &pos):
Inserts information about the SharedPos object into out.
Note: the behavior of member functions returning values which refer to information of an FBB::SharedSegment is undefined untill the member reset has been called.
o bool atMaxOffset() const:
Returns true if offset equals the maximum offset that can be used for the configured FBB::SharedSegment object.
o size_t blockIdx() const:
The index of the configured FBB::SharedSegment objects shared segment data block to which offset refers is returned.
o size_t blockOffset() const:
The offset within the shared segment data block matching the member offsets return value is returned.
o bool eof() const:
Returns true if offset exceeds the maximum offset of any character ever written to the shared memory to which the SharedPos object interfaces. If eof returns true information may still be written to the shared memory: writting is possible until the maximum shared memory segment offset has been reached.
o std::streamsize eos() const:
The offset just beyond the maximum offset for the current shared segment data block is returned. E.g., if blockIdx returns 5, and the size of the shared segment data blocks equals 2000, then eos returns 12000 (the first offset of segment 6).
o std::streamsize maxOffset() const:
The maximum possible offset that can be used for the currently monitored FBB::SharedSegment is returned.
o std::streamsize offset() const:
The offset within the currently monitored shared memory segment is returned.
o void reset(SharedSegment *sharedData):
The SharedPos object is reset to monitor the offset of the FBB::SharedSegment object whose address is passed as argument to reset. The address must point to a sharedsegment(3bobcat) object that must exist until the end of the SharedPos objects lifetime or until its next reset call. Immediately after calling reset offset is reset to 0.
o std::streamsize showmanyc() const:
The number of characters that can be read from the current shared segment data block is returned. This member interrogates the number of readable characters in the shared memory segment. This number may change while this member is being executed. In order to receive a stable return value, calling functions should have obtained a lock on the FBB::SharedSegment data before calling this member. See also the sharedsegment(3bobcat) man-page.
o std::ios::pos_type seek(std::ios::off_type offset, std::ios::seekdir origin = std::ios::beg):
The monitored offset is changed to this members offset argument, relative to origin. Seeking beyond eof is OK. However, -1 is returned when seeking beyond maxOffset or seeking before the shared segments offset 0.
See the sharedstream(3bobcat) man page.
bobcat/sharedpos - defines the class interface
bobcat(7), isharedstream(3bobcat), osharedstream(3bobcat), sharedblock(3bobcat), sharedcondition(3bobcat), sharedmemory(3bobcat), sharedmutex(3bobcat), sharedreadme(7bobcat), sharedsegment(3bobcat), sharedstream(3bobcat), sharedstreambuf(3bobcat)
o bobcat_3.25.01-x.dsc: detached signature; o bobcat_3.25.01-x.tar.gz: source archive; o bobcat_3.25.01-x_i386.changes: change log; o libbobcat1_3.25.01-x_*.deb: debian package holding the libraries; o libbobcat1-dev_3.25.01-x_*.deb: debian package holding the libraries, headers and manual pages; o http://sourceforge.net/projects/bobcat: public archive location;
Bobcat is an acronym of Brokkens Own Base Classes And Templates.
This is free software, distributed under the terms of the GNU General Public License (GPL).
Frank B. Brokken (email@example.com).