/usr/share/doc/libbobcat4-dev/man/ifdstreambuf.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 | <!DOCTYPE html><html><head>
<meta charset="UTF-8">
<title>FBB::IFdStreambuf(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::IFdStreambuf(3bobcat)</h1>
<h2 id="author">File Descriptor Input Stream Buffer<br/>(libbobcat-dev_4.08.02-x.tar.gz)</h2>
<h2 id="date">2005-2017</h2>
<p>
<h2 >NAME</h2>FBB::IFdStreambuf - Input stream buffer initialized by a file descriptor
<p>
<h2 >SYNOPSIS</h2>
<strong >#include <bobcat/ifdstreambuf></strong><br/>
Linking option: <em >-lbobcat</em>
<p>
<h2 >DESCRIPTION</h2>
<strong >FBB::IFdStreambuf</strong> objects may be used as a <strong >std::streambuf</strong> of
<em >std::istream</em> objects to allow extractions from a file descriptor.
<p>
File descriptors are not defined within the context of <strong >C++</strong>,
but they can be used on operating systems that support the concept. Realize
that using file descriptors introduces operating system dependencies.
<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 >ENUMERATION</h2>
The public enumeration <strong >Mode</strong> defined in the class <strong >FBB::IFdStreamBuf</strong>
has the following values:
<ul>
<li> <strong >CLOSE_FD</strong>, indicating that the file descriptor used by the object
must be closed;
<li> <strong >KEEP_FD</strong> (the default) indicating that the file descriptor used by
the object must not be closed.
</ul>
<p>
<h2 >CONSTRUCTORS</h2>
<ul>
<li> <strong >IFdStreambuf()</strong>:<br/>
This constructor initializes the streambuf, without associating it to
a file descriptor, and without using buffering. The member <strong >open()</strong> can be
used subsequently to associate the object with a file descriptor and
optionally a buffer size. When the object is destroyed or if the mode-less
overloaded version of the <strong >open</strong> member is called, the file descriptor will
not be closed.
<p>
<li> <strong >IFdStreambuf(Mode mode)</strong>:<br/>
This constructor initializes the streambuf, without associating it to
a file descriptor, and without using buffering. The member <strong >open()</strong> can be
used subsequently to associate the object with a file descriptor and
optionally a buffer size. When the object is destroyed or if the mode-less
overloaded version of the <strong >open</strong> member is called, the <strong >Mode</strong> argument
determines whether the file descriptor will be closed or will remain open.
<p>
<li> <strong >IFdStreambuf(int fd, size_t n = 1)</strong>:<br/>
This constructor initializes the streambuf, associating it to file
descriptor <em >fd</em>, and an optional unget buffer size (by default having size
1). When the object is destroyed or if the mode-less overloaded version of
the <strong >open</strong> member is called, the file descriptor will not be closed.
<p>
<li> <strong >IFdStreambuf(int fd, Mode mode, size_t n = 1)</strong>:<br/>
This constructor initializes the streambuf, associating it to file
descriptor <em >fd</em>, and an optional unget buffer size (by default having size
1). When the object is destroyed or if the mode-less
overloaded version of the <strong >open</strong> member is called, the <strong >Mode</strong> argument
determines whether the file descriptor will be closed or will remain open.
</ul>
There is no copy constructor.
<p>
<h2 >MEMBER FUNCTIONS</h2>
All members of <strong >std::streambuf</strong> are
available, as <strong >FBB::IFdStreambuf</strong> inherits from this class. Some of the
<strong >std::streambuf</strong>'s member are overridden by <strong >FBB::IFdStreambuf</strong>, see
below.
<ul>
<li> <strong >void close()</strong>:<br/>
The file descriptor used by the <em >IFdStreambuf</em> is closed,
irrespective of the <em >Mode</em> that was specified when the <em >IFdStreambuf</em>
object was constructed. Following <em >close</em> the <em >IFdStreambuf</em> object can
no longer be used until one of its <em >open</em> members has been called.
<li> <strong >int fd() const</strong>:<br/>
The file descriptor used by the <em >IFdStreambuf</em> object is returned.
If the <em >OFdStreambuf</em> is not associated with a file descriptor -1 is
returned.
<li> <strong >void open(int xfd, size_t n = 1)</strong>:<br/>
The streambuf is (re)initialized, using file descriptor <em >fd</em>, and an
optional unget buffer size (by default having size 1). When called repeatedly,
the <strong >Mode</strong> specification used whem the object was constructed determines
whether the file descriptor will be closed or will remain open.
<li> <strong >void open(int xfd, Mode mode, size_t n = 1)</strong>:<br/>
The streambuf is (re)initialized, using file descriptor <em >fd</em>, a file
descriptor closing parameter and an optional unget buffer size (by default
having size 1). Depending on the <strong >Mode</strong> argument the object's currently used
file descriptor will be closed or will remain open when the <em >IFdStreambuf</em>
object is destroyed.
</ul>
<p>
Note that there is no overloaded assignment operator available for this
class.
<p>
<h2 >EXAMPLE</h2>
To do
<p>
<h2 >FILES</h2>
<em >bobcat/ifdstreambuf</em> - defines the class interface
<p>
<h2 >SEE ALSO</h2>
<strong >bobcat</strong>(7), <strong >ifdstream</strong>(3bobcat), <strong >ofdstreambuf</strong>(3bobcat),
<strong >std::streambuf</strong>
<p>
<h2 >BUGS</h2>
The member <em >xsgetn(char *dest, std::streamsize n)</em> will set
<em >istream::good()</em> to <em >false</em> when fewer bytes than <em >n</em> were read using
<em >istream::read()</em>. Also see <em >xsgetn</em>'s description.
<p>
Note that by default the provided file descriptors remain open. The
complementary class <strong >ofdstreambuf</strong>(3bobcat) <em >closes</em> the file descriptor
by default. This inconsistency was deliberately accepted to keep the classes
interfaces backward compatible.
<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>
|