This file is indexed.

/usr/share/doc/libbobcat4-dev/man/iostreambuf.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
<!DOCTYPE html><html><head>
<meta charset="UTF-8">
<title>FBB::IOStreambuf(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::IOStreambuf(3bobcat)</h1>
<h2 id="author">Streambuf doing I/O<br/>(libbobcat-dev_4.08.02-x.tar.gz)</h2>
<h2 id="date">2005-2017</h2>


<p>
<h2 >NAME</h2>FBB::IOStreambuf - streambuf allowing input and output operations
<p>
<h2 >SYNOPSIS</h2>
    <strong >#include &lt;bobcat/iostreambuf&gt;</strong><br/>
    Linking option: <em >-lbobcat</em> 
<p>
<h2 >DESCRIPTION</h2>
    This class implements a specialization of the <strong >std::streambuf</strong> class,
allowing input operations from and output operations to different files. It is
intended to be used in combination with <strong >FBB::IOStream</strong>, thus allowing all
stream-based input and output operations using the same object without the
need to use <em >seek</em>-operations. Using an <strong >FBB::IOStream</strong> object it is,
e.g., possible to construct two-way communications using pipes, much like the
facilities offered by sockets.
<p>
If the streams that will be associated with the <strong >IOStreambuf</strong> object
support seeking, then the <strong >IOStreambuf</strong> will do so to. Seeking might also be
available for a single stream (either the <strong >std::istream</strong> or the
<strong >std::ostream</strong>). 
<p>
When the <strong >IOStreambuf</strong> object goes out of scope, its associated
<strong >std::ostream</strong> object is flushed.
<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>
    <strong >std::streambuf</strong>
<p>
<h2 >CONSTRUCTORS</h2>
    <ul>
    <li> <strong >IOStreambuf()</strong>:<br/>
        The default constructor results in a <strong >IOStreambuf</strong> object that
cannot be immediately used. Its member <strong >open()</strong> must be called first.
    <li> <strong >IOStreambuf(std::istream &amp;in, std::ostream &amp;out)</strong>:<br/> 
        This constructor associates the <strong >IOStreambuf</strong> object with a
<strong >std::istream</strong> and a <strong >std::ostream</strong>. All output operations will be passed
on to the <strong >std::ostream</strong>, all input operations to the <strong >std::istream</strong>. The
streams passed to <strong >IOStreambuf()</strong> should outlive the <strong >IOStreambuf</strong>
object. 
    </ul>
    Copy and move constructors is not available.
<p>
<h2 >MEMBER FUNCTIONS</h2>
     All members of <strong >std::streambuf</strong> are
available, as <strong >FBB::IOStreambuf</strong> inherits from these classes.
    <ul>
    <li> <strong >void open(std::istream &amp;in, std::ostream &amp;out)</strong>:<br/>
        This member (re)associates the <strong >IOStreambuf</strong> object with a
<strong >std::istream</strong> and a <strong >std::ostream</strong>. All output operations will be passed
on to the <strong >std::ostream</strong>, all input operations to the <strong >std::istream</strong>. The
streams passed to <strong >IOStreambuf()</strong> should outlive the <strong >IOStreambuf</strong>
object. If this member is called for an <strong >IOStreambuf</strong> object already
associated with an <strong >std::ostream</strong> object, the already associated 
<strong >std::ostream</strong> object is flushed before setting up the new association.
    </ul>
<p>
<h2 >VIRTUAL PROTECTED MEMBER FUNCTIONS</h2>
<p>
The following <strong >std::streambuf</strong> member functions should only be called
when the <strong >FBB::Streambuf</strong> object is associated with <strong >std::istream</strong> and
<strong >std::ostream</strong> objects (i.e., they should not be called between the
construction of a default <strong >FBB:IOStreambuf</strong> object and a subsequent call of
<strong >IOStreambuf::open()</strong>):
<p>
The members listed in this section implement the tasks of 
comparably named virtual function in the class's private interface. This
separates the redefinable interface from the user-interface. The class
<strong >IOStreamBuf</strong> can, in accordance with Liskov's Substitution Principle, be
used as a <em >std:streambuf</em>; but it also offers facilities for classes
deriving from <strong >IOStreamBuf</strong>. These facilities are listed here.
<p>
<ul>
    <li> <strong >pos_type pSeekoff(off_type offset, std::ios::seekdir way,
                                 std::ios::openmode mode = 
                                                std::ios::in | std::ios::out)</strong>:<br/>
        With seekable streams, repositions the associated <strong >std::istream</strong>
        or <strong >std::ostream</strong> is repositioned to offset <em >offset</em>, relative to
        <em >way</em>.
    <li> <strong >pos_type pSeekpos(off_type offset, std::ios::openmode mode = 
                                                std::ios::in | std::ios::out)</strong>:<br/>
        With seekable streams, repositions the associated <strong >std::istream</strong>
        or <strong >std::ostream</strong> is repositioned to offset <em >offset</em>, relative to
        the beginning of the stream.
    <li> <strong >int pSync()</strong>:<br/>
        This member flushes the associated <strong >std::ostream</strong> object.
    <li> <strong >std::streamsize pXsputn(char const *buffer, std::streamsize n)</strong>:<br/>
        This member inserts <em >n</em> characters from <em >buffer</em> into the
        associated <strong >std::ostream</strong> stream.
    </ul>
<p>
<h2 >EXAMPLE</h2>
    See the example provided with <strong >process</strong>(3bobcat).
<p>
<h2 >FILES</h2>
    <em >bobcat/iostreambuf</em> - defines the class interface
<p>
<h2 >SEE ALSO</h2>
    <strong >bobcat</strong>(7), <strong >iostream</strong>(3bobcat), <strong >process</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>