/usr/share/doc/libbobcat4-dev/man/mbuf.3.html is in libbobcat-dev 4.08.02-2build1.
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 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | <!DOCTYPE html><html><head>
<meta charset="UTF-8">
<title>FBB::Mbuf(3bobcat)</title>
<style type="text/css">
figure {text-align: center;}
img {vertical-align: center;}
.XXfc {margin-left:auto;margin-right:auto;}
.XXtc {text-align: center;}
.XXtl {text-align: left;}
.XXtr {text-align: right;}
.XXvt {vertical-align: top;}
.XXvb {vertical-align: bottom;}
</style>
<link rev="made" href="mailto:Frank B. Brokken: f.b.brokken@rug.nl">
</head>
<body text="#27408B" bgcolor="#FFFAF0">
<hr/>
<h1 id="title">FBB::Mbuf(3bobcat)</h1>
<h2 id="author">Message handler<br/>(libbobcat-dev_4.08.02-x.tar.gz)</h2>
<h2 id="date">2005-2017</h2>
<p>
<h2 >NAME</h2>FBB::Mbuf - std::streambuf handling messages
<p>
<h2 >SYNOPSIS</h2>
<strong >#include <bobcat/mbuf></strong><br/>
Linking option: <em >-lbobcat</em>
<p>
<h2 >DESCRIPTION</h2>
Objects of this class are derived from <em >std::streambuf</em>, and are used to
handle messages in a standardized way. Messages may be prefixed with order
(line) numbers and/or labels.
<p>
By default all messages are inserted into the standard output stream, but
other destinations (standard error, a named file, etc.) can easily be
configured.
<p>
<strong >FBB::Mbuf</strong> objects themselves are <em >std::streambuf</em> objects, so they
can be used to construct <em >std::ostream</em> objects. However, they are intended
to be used by <strong >mstream</strong>(3bobcat) objects, and passing <em >Mbuf</em> objects to
other kind of <em >ostream</em> objects is deprecated and may result in undefined
behavior.
<p>
<h2 >NAMESPACE</h2>
<strong >FBB</strong><br/>
All elements mentioned in this man-page, are defined in the namespace
<strong >FBB</strong>.
<p>
<h2 >INHERITS FROM</h2>
<strong >std::streambuf</strong>
<p>
<h2 >CONSTRUCTORS</h2>
<ul>
<li> <strong >Mbuf()</strong>:<br/>
The default constructor handles messages using the <em >std::streambuf</em>
also used by <em >std::cout</em>. There is no limit to the number of messages that
may be inserted. No message or line numbers are shown, no exception are thrown
when inserting messages.
<li> <strong >explicit Mbuf(std::streambuf *buf,
size_t maxCount = std::numeric_limits<size_t>::max(),
std::string const &tag = "", bool throwing = false)</strong>:<br/>
This constructor uses <em >buf</em> to handle messages. By default (using
the default argument values) there is no limit to the number of messages that
may be inserted. No message or line numbers are shown, no exception are thrown
when inserting messages. Specifying any other value than
<em >std::numeric_limits<size_t>::max()</em> sets the maximum number of messages
that can be inserted to that value. The <em >tag</em> defines the text of the
message label (e.g., <em >Error</em>). When <em >throwing</em> is specified as <em >true</em> an
<em >FBB::Exception</em> exception is thrown after completing a message. The generated
exception holds the id (see below for the member <em >id</em>) of the <strong >FBB::Mbuf</strong>
object from which the exception was thrown as well as the text <em >FBB::Mbuf</em>.
<li> <strong >explicit Mbuf(std::string const &name, size_t maxCount =
std::numeric_limits<size_t>::max(),
std::string const &tag = "", bool throwing = false)</strong>:<br/>
This constructor creates a <em >std::ofstream</em> from the provided
<em >name</em> parameter that receives the messages handled by the constructed
<strong >FBB:Mbuf</strong> object. It throws an <em >FBB::Exception</em> exception if the stream
cannot be opened for writing. If a file by that name already exists it is
rewritten. The remaining parameters are identical to those of the previous
two constructors.
</ul>
As <strong >FBB::Mbuf</strong> inherits from <em >std::streambuf</em> the copy constructor is
not available. Neither is the move constructor.
<p>
<h2 >MEMBER FUNCTIONS</h2>
<p>
<ul>
<li> <strong >size_t count() const</strong>:<br/>
returns the number of inserted messages (if <em >setCount</em> has been
called: the value set by the last <em >setCount</em> call plus the number of
inserted messages since that call).
<p>
<li> <strong >bool lineExcess() const</strong>:<br/>
returns <strong >true</strong> after attempting to insert an additional message
after <em >maxCount()</em> number of messages have been inserted.
<p>
<li> <strong >std::string const &lineTag() const</strong>:<br/>
returns the currently used line-tag (by default `<em >Line</em>').
<p>
<li> <strong >size_t maxCount() const</strong>:<br/>
returns the maximum number of messages that can be inserted. If the
returned value equals <em >std::numeric_limits<size_t>::max()</em> then there is no
limit to the number of messages that can be inserted.
<p>
<li> <strong >void noLineNr()</strong>:<br/>
calling this member will suppress the display of a line number if it
is called after calling <em >setLineNr</em> (see below) but before a message is
being (or has been) inserted.
<p>
<li> <strong >void reset(std::streambuf *buf, size_t maxCount,
std::string const &tag, bool throwing)</strong>:<br/>
messages inserted into <strong >FBB::Mbuf</strong> objects are handled by
<em >std::streambuf buf</em>. By specifying <em >std::numeric_limits<size_t>::max()</em>
for <em >maxCount</em> there is no limit to the number of messages that may be
handled by this <em >std::streambuf</em>. The <em >tag</em> defines the text of the
message label (e.g., <em >Error</em> or the empty string for no message label). When
<em >throwing</em> is specified as <em >true</em> an <em >FBB::Exception</em> exception is thrown
after completing a message.
<p>
<li> <strong >void reset(std::string const &name, size_t maxCount,
std::string const &tag, bool throwing)</strong>:<br/>
messages inserted into <strong >FBB::Mbuf</strong> objects are handled by a
<em >std::ofstream</em> created using the provided <em >name</em> parameter. It throws an
<em >FBB::Exception</em> exception if the stream cannot be opened for writing. If a file
by that name already exists it is rewritten. The remaining parameters are
identical to those of the previous <em >reset</em> members.
<p>
<li> <strong >void reset(FBB::Mbuf const &mbuf)</strong>:<br/>
the current object is reset using the parameters of the <em >mbuf</em>
parameter. Following the reset all of the current object's parameters can
independently be modified from those used by <em >mbuf</em>.
<p>
<li> <strong >void setCount(size_t count)</strong>:<br/>
assigns the value <em >count</em> to the object's message counter.
<p>
<li> <strong >void setLineNr(size_t lineNr)</strong>:<br/>
specifies the value <em >lineNr</em> as the message's line number when the
next line is displayed (see also <em >noLineNr</em>). This value is <em >not</em> changed
by the <strong >FBB::Mbuf</strong> object. To display another line number the member will
have to be called again (i.e., the line number is not displayed automatically
again at every new line).
<p>
<li> <strong >void setLineTag(std::string const &tag)</strong>:<br/>
specifies the tag prefixing line numbers. By default the line tag
equals `<em >Line</em>'.
<p>
<li> <strong >void setMaxCount(size_t maxCount)</strong>:<br/>
defines <em >maxCount</em> as the maximum number of messages that can be
inserted into the <strong >FBB::Mbuf</strong> object.
<p>
<li> <strong >void setTag(std::string const &tag)</strong>:<br/>
specifies the tag prefixing messages. By default the tag is empty. If
not empty the tag is enclosed by square brackets. E.g., specifying the tag
`<em >Error</em>' will prefix messages with <em >[Error]</em>.
<p>
<li> <strong >std::string const &tag() const</strong>:<br/>
returns the currently used message tag (by default an empty string).
<p>
<li> <strong >bool throws()</strong>:<br/>
returns <em >true</em> when the <strong >FBB::Mbuf</strong> object will throw an
<em >FBB::Exception</em> exception at the next completed message. The generated
exception holds the id (see earlier for the member <em >id</em>) of the
<strong >FBB::Mbuf</strong> object from which the exception was thrown as well as the
text <em >FBB::Mbuf</em>.
<p>
<li> <strong >void throwing(bool ifTrue)</strong>:<br/>
modifies the behavior of <strong >FBB::Mbuf</strong> objects at completed
messages. After passing <em >true</em> <strong >FBB::Mbuf</strong> objects will throw an
<em >FBB::Exception</em> exception at the next completed message, otherwise this
exception is not thrown.
</ul>
<p>
<h2 >EXAMPLE</h2>
See the <strong >mstream</strong>(3bobcat) example.
<p>
<h2 >FILES</h2>
<em >bobcat/mbuf</em> - defines the class interface
<p>
<h2 >SEE ALSO</h2>
<strong >bobcat</strong>(7), <strong >exception</strong>(3bobcat), <strong >mstream</strong>(3bobcat)
<p>
<h2 >BUGS</h2>
None Reported.
<p>
<h2 >DISTRIBUTION FILES</h2>
<ul>
<li> <em >bobcat_4.08.02-x.dsc</em>: detached signature;
<li> <em >bobcat_4.08.02-x.tar.gz</em>: source archive;
<li> <em >bobcat_4.08.02-x_i386.changes</em>: change log;
<li> <em >libbobcat1_4.08.02-x_*.deb</em>: debian package holding the
libraries;
<li> <em >libbobcat1-dev_4.08.02-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>
</body>
</html>
|