bionic (3) sharedpos.3bobcat.gz

Provided by: libbobcat-dev_4.08.02-2build1_amd64 bug

NAME

       FBB::Sharedpos - Shared Memory offset controller

SYNOPSIS

       #include <bobcat/sharedpos>
       Linking option: -lbobcat

DESCRIPTION

       The  class  SharedPos  is  a  support  class for Bobcat’s shared memory handling classes. It controls the
       shared memory read/write ofset and ensures that shared memory operations never exceed the shared memory’s
       maximum offset.

       The  class  SharedPos has several public members, but they are primarily useful for other Shared* classes
       offered by Bobcat. There is probably little use for a stand-alone SharedPos object.

       In the descriptions of the class’s member functions offset refers  to  the  read/write  offset  within  a
       FBB::SharedSegment(3bobcat) object for which SharedPos performs the offset-administration.

NAMESPACE

       FBB
       All  constructors,  members,  operators  and manipulators, mentioned in this man-page, are defined in the
       namespace FBB.

INHERITS FROM

       -

TYPEDEFS AND ENUMS

CONSTRUCTORS

       Default, copy and move constructors are available. The default  constructor  does  not  yet  monitor  the
       offset of an FBB::SharedSegment object. The member reset is used to start monitoring offsets.

OVERLOADED OPERATORS

       o      void operator++():
              The  offset  is  incremented.  If  this  member  is  called when the offset is equal to the shared
              memory’s maximum offset an FBB::Exception is thrown.

       o      void operator+=(size_t len):
              The offset is incremented by len. If offset + len exceeds the shared memory’s maximum offset  then
              the offset is set to the maximum offset and an FBB::Exception is thrown.

       o      std::ostream &operator<<(std::ostream &out, SharedPos const &pos):
              Inserts information about the SharedPos object into out.

       Copy and move assignment operators are available.

MEMBER FUNCTIONS

       Note:   the   behavior   of   member  functions  returning  values  which  refer  to  information  of  an
       FBB::SharedSegment is undefined until 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 object’s 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  offset’s  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: writing 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  object’s  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 member’s offset  argument,  relative  to  origin.  Seeking
              beyond  eof  is  OK.  However,  -1 is returned when seeking beyond maxOffset or seeking before the
              shared segment’s offset 0.

EXAMPLE

       See the sharedstream(3bobcat) man page.

FILES

       bobcat/sharedpos - defines the class interface

SEE ALSO

       bobcat(7),         isharedstream(3bobcat),         osharedstream(3bobcat),          sharedblock(3bobcat),
       sharedcondition(3bobcat),     sharedmemory(3bobcat),     sharedmutex(3bobcat),     sharedreadme(7bobcat),
       sharedsegment(3bobcat), sharedstream(3bobcat), sharedstreambuf(3bobcat)

BUGS

       None Reported.

DISTRIBUTION FILES

       o      bobcat_4.08.02-x.dsc: detached signature;

       o      bobcat_4.08.02-x.tar.gz: source archive;

       o      bobcat_4.08.02-x_i386.changes: change log;

       o      libbobcat1_4.08.02-x_*.deb: debian package holding the libraries;

       o      libbobcat1-dev_4.08.02-x_*.deb: debian package holding the libraries, headers and manual pages;

       o      http://sourceforge.net/projects/bobcat: public archive location;

BOBCAT

       Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.

       This is free software, distributed under the terms of the GNU General Public License (GPL).

AUTHOR

       Frank B. Brokken (f.b.brokken@rug.nl).