/usr/share/doc/libbobcat3-dev/man/sharedpos.3.html is in libbobcat-dev 3.19.01-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | <html><head>
<title>FBB::Sharedpos</title>
<link rev="made" href="mailto:Frank B. Brokken: f.b.brokken@rug.nl">
</head>
<body text="#27408B" bgcolor="#FFFAF0">
<hr>
<h1>FBB::Sharedpos</h1>
<h2>libbobcat-dev_3.19.01-x.tar.gz</h2>
<h2>2005-2013</h2>
<html><head>
<link rev="made" href="mailto:Frank B. Brokken: f.b.brokken@rug.nl">
</head>
<body text="#27408B" bgcolor="#FFFAF0">
<hr>
<h1></h1>
<html><head>
<title>FBB::Sharedpos(3bobcat)</title>
<link rev="made" href="mailto:Frank B. Brokken: f.b.brokken@rug.nl">
</head>
<body text="#27408B" bgcolor="#FFFAF0">
<hr>
<h1>FBB::Sharedpos(3bobcat)</h1>
<h2>libbobcat-dev_3.19.01-x.tar.gz Shared Memory Offsets</h2>
<h2>2005-2013</h2>
<p>
<h2>NAME</h2>FBB::Sharedpos - Shared Memory offset controller
<p>
<h2>SYNOPSIS</h2>
<strong>#include <bobcat/sharedpos></strong><br>
Linking option: <em>-lbobcat</em>
<p>
<h2>DESCRIPTION</h2>
<p>
The class <strong>SharedPos</strong> 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.
<p>
The class <strong>SharedPos</strong> has several public members, but they are primarily
useful for other <em>Shared*</em> classes offered by Bobcat. There is probably
little use for a stand-alone <strong>SharedPos</strong> object.
<p>
In the descriptions of the class's member functions <em>offset</em> refers to
the read/write offset within the available shared memory.
<p>
<h2>NAMESPACE</h2>
<strong>FBB</strong><br>
All constructors, members, operators and manipulators, mentioned in this
man-page, are defined in the namespace <strong>FBB</strong>.
<p>
<h2>INHERITS FROM</h2>
-
<p>
<h2>TYPEDEFS AND ENUMS</h2>
<p>
<h2>CONSTRUCTORS</h2>
<p>
Default, copy and move constructors are available. The default constructor
does not yet monitor the offsets for a shared memory segment. The
member <em>reset</em> is used to start monitoring offsets.
<p>
<h2>OVERLOADED OPERATORS</h2>
<ul>
<li> <strong>void operator++()</strong>:<br>
The offset is incremented. If this member is called when the offset is
equal to the shared memory's maximum offset an <em>FBB::Exception</em> is
thrown.
<p>
<li> <strong>void operator+=(size_t len)</strong>:<br>
The offset is incremented by <em>len</em>. If <em>offset + len</em> exceeds the
shared memory's maximum offset then the offset is set to the maximum
offset and an <em>FBB::Exception</em> is thrown.
<p>
<li> <strong>std::ostream &operator<<(std::ostream &out, SharedPos const &pos)</strong>:<br>
Inserts information about the <strong>FBB::SharedPos</strong> object into <em>out</em>.
</ul>
<p>
The copy and move assignment operators are available.
<p>
<h2>MEMBER FUNCTIONS</h2>
<p>
<ul>
<li> <strong>bool atMaxOffset() const</strong>:<br>
Returns <em>true</em> if offset equals the maximum offset that can be used
for the current shared memory segment.<br>
The behavior of this member is undefined until <em>setup</em> has been
called.
<p>
<li> <strong>size_t blockIdx() const</strong>:<br>
The index of the shared segment data block in which offset is located
is returned.
<p>
<li> <strong>size_t blockOffset() const</strong>:<br>
The index within the shared segment data block matching offset is
returned.
<p>
<li> <strong>bool eof() const</strong>:<br>
Returns <em>true</em> if offset exceeds the maximum offset of any character
ever written to the shared memory pointed at by
<em>sharedData</em>. If <em>eof</em> returns <em>true</em> information may still
be <em>written</em> to the shared memory: writting is possible until the
maximum shared memory segment offset has been reached.<br>
The behavior of this member is undefined until <em>setup</em> has been
called.
<p>
<li> <strong>std::streamsize eos() const</strong>:<br>
The offset just beyond the maximum offset for the current shared
segment data block is returned.<br>
The behavior of this member is undefined until <em>setup</em> has been
called.
<p>
<li> <strong>std::streamsize maxOffset() const</strong>:<br>
The maximum possible offset that can be used for the currently
monitored shared memory segment is returned. Zero is returned until
<em>setup</em> has been called.
<p>
<li> <strong>std::streamsize offset() const</strong>:<br>
The offset within the currently monitored shared memory segment is
returned. Zero is returned until <em>setup</em> has been called.
<p>
<li> <strong>void setup(SharedSegment *sharedData)</strong>:<br>
The <em>SharedPos</em> object is reset to monitor the offset of a new
<em>FBB::SharedSegment</em> object. The <em>SharedSegment *</em> must point to a
<em>SharedSegment</em> segment (cf. <strong>sharedsegment</strong>(3bobcat)) that must exist
until the end of the <strong>FBB::SharedPos</strong> object's lifetime or until the
next <em>reset</em> call. Immediately after calling <em>reset</em> offset has
the value 0.
<p>
<li> <strong>std::streamsize showmanyc() const</strong>:<br>
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 shared memory segment before calling this member. See also the
<strong>sharedsegment</strong>(3bobcat) man-page.<br>
The behavior of this member is undefined until <em>setup</em> has been
called.
<p>
<li> <strong>std::ios::pos_type seek(std::ios::off_type offset,
std::ios::seekdir way = std::ios::beg)</strong>:<br>
The monitored offset is changed to this member's <em>offset</em> argument,
relative to <em>way</em>. Seeking beyond <em>eof</em> is OK; -1 is returned when
seeking beyond <em>maxOffset</em> or seeking before the shared segment's
offset 0.
</ul>
<p>
<h2>EXAMPLE</h2>
See the <strong>sharedstream</strong>(3bobcat) man page.
<p>
<h2>FILES</h2>
<em>bobcat/sharedpos</em> - defines the class interface
<p>
<h2>SEE ALSO</h2>
<strong>bobcat</strong>(7),
<strong>isharedstream</strong>(3bobcat),
<strong>osharedstream</strong>(3bobcat),
<strong>sharedblock</strong>(3bobcat),
<strong>sharedmemory</strong>(3bobcat),
<strong>sharedmutex</strong>(3bobcat),
<strong>sharedsegment</strong>(3bobcat),
<strong>sharedstream</strong>(3bobcat),
<strong>sharedstreambuf</strong>(3bobcat)
<p>
<h2>BUGS</h2>
None Reported.
<p>
<h2>DISTRIBUTION FILES</h2>
<ul>
<li> <em>bobcat_3.19.01-x.dsc</em>: detached signature;
<li> <em>bobcat_3.19.01-x.tar.gz</em>: source archive;
<li> <em>bobcat_3.19.01-x_i386.changes</em>: change log;
<li> <em>libbobcat1_3.19.01-x_*.deb</em>: debian package holding the
libraries;
<li> <em>libbobcat1-dev_3.19.01-x_*.deb</em>: debian package holding the
libraries, headers and manual pages;
<li> <em>http://sourceforge.net/projects/bobcat</em>: public archive location;
</ul>
<p>
<h2>BOBCAT</h2>
Bobcat is an acronym of `Brokken's Own Base Classes And Templates'.
<p>
<h2>COPYRIGHT</h2>
This is free software, distributed under the terms of the
GNU General Public License (GPL).
<p>
<h2>AUTHOR</h2>
Frank B. Brokken (<strong>f.b.brokken@rug.nl</strong>).
<p>
|