This file is indexed.

/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 &lt;bobcat/mbuf&gt;</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&lt;size_t&gt;::max(), 
                std::string const &amp;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&lt;size_t&gt;::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 &amp;name, size_t maxCount =
                std::numeric_limits&lt;size_t&gt;::max(),  
                std::string const &amp;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 &amp;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&lt;size_t&gt;::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 &amp;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&lt;size_t&gt;::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 &amp;name, size_t maxCount, 
                std::string const &amp;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 &amp;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 &amp;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 &amp;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 &amp;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>