/usr/share/doc/libbobcat3/man/ofoldstream.3.html is in libbobcat-dev 3.23.01-1.
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 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 | <html><head>
<title>FBB::OFoldStream</title>
<link rev="made" href="mailto:Frank B. Brokken: f.b.brokken@rug.nl">
</head>
<body text="#27408B" bgcolor="#FFFAF0">
<hr>
<h1>FBB::OFoldStream</h1>
<h2>libbobcat-dev_3.23.01-x.tar.gz</h2>
<h2>2005-2014</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::OFoldStream(3bobcat)</title>
<link rev="made" href="mailto:Frank B. Brokken: f.b.brokken@rug.nl">
</head>
<body text="#27408B" bgcolor="#FFFAF0">
<hr>
<h1>FBB::OFoldStream(3bobcat)</h1>
<h2>libbobcat-dev_3.23.01-x.tar.gz Fold long lines</h2>
<h2>2005-2014</h2>
<p>
<h2>NAME</h2>FBB::OFoldStream - Folds long lines
<p>
<h2>SYNOPSIS</h2>
<strong>#include <bobcat/ofoldstream></strong><br>
Linking option: <em>-lbobcat</em>
<p>
<h2>DESCRIPTION</h2>
<strong>FBB::OFoldStream</strong> folds long lines written to it. The
<em>OFoldStream</em> writes the (folded) lines to a second <em>ostream</em> which is
either used by or opened by the <em>OFoldStream</em> object.
<p>
<em>OFoldStream</em> objects never fold lines in the middle of series of
non-blank characters but will always break a line at white space
characters. The resulting lines will always appear to the right of a
configurable left margin and to the left of a configurable right margin. There
is a somewhat pathological exception to this: if a word is too long to fit in
between the margins then the word will exceed the right hand margin.
<p>
The indentation used for the left margins is configurable to either blanks
(the default) or tabs. When tabs are used the width of a tab character is
configurable, using a default of 8 positions in the destination stream.
<p>
<em>OFoldStream</em> is implemented as a wrapper class around <em>std::ostream</em>
and <em>FBB::OFoldStreambuf</em> and a more complete description of the folding
process can be found in the <strong>ofoldstreambuf</strong>(3bobcat) man page.
<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>
std::ostream,<br>
(and privately from FBB::OFoldStreambuf)
<p>
<h2>ENUMERATION</h2>
The enumeration <em>TabsOrBlanks</em> is used to select tabs or blanks when
writing the indentation. The default is blanks. When tabs are selected the
display width of tabs characters can be configured as well (using the default
of 8 positions for each tab-character). The enumeration has two values:
<ul>
<li> <strong>BLANKS</strong>:<br>
The default, indicating that the left margin is specified and written
as a number of blanks;
<li> <strong>TABS</strong>:<br>
Indicating that the left margin is specified and written as a number
of tab-characters.
</ul>
<p>
The enumeration <em>TrailingBlanks</em> is used to configure the
<em>OFoldStream</em> object with respect to any trailing blanks that may appear
on the final line. It is the same enumeration type as used with
<em>OFoldStreambuf</em> (cf. <strong>ofoldstreambuf</strong>(3bobcat)) having two values:
<ul>
<li> <strong>IGNORE_TRAILING_BLANKS</strong>:<br>
This indicates that trailing blanks appearing at the final line if it
is not terminated by a newline should not be written to the destination
<em>std::ostream</em>. This is the default used by <em>OFoldStream</em> objects.
<li> <strong>KEEP_TRAILING_BLANKS</strong>:<br>
This indicates that trailing blanks at the final line if it is not
terminated by a newline should be written to the destination <em>std::ostream</em>
</ul>
<p>
<h2>CONSTRUCTORS</h2>
<ul>
<li> <strong>OFoldStream()</strong>:<br>
This constructor initializes an <em>OFoldStream</em> object but does not
associate it with a destination stream. It uses the values 0, 80, <em>BLANKS</em>,
and <em>IGNORE_TRAILING_BLANKS</em>for, resp. its left margin, right margin
left-margin characters and <em>TrailingBlanks</em> handling mode.
<p>
<li> <strong>OFoldStream(char const *fname,
size_t leftIndent = 0, size_t rightMargin = 80,
TabsOrBlanks tob = BLANKS,
TrailingBlanks tb = IGNORE_TRAILING_BLANKS)</strong>:<br>
This constructor initializes an <em>OFoldStream</em> object and opens (using
<em>std::ios::out</em>) the destination stream using the name specified as its
<em>fname</em> argument.
<p>
<li> <strong>OFoldStream(std::ostream &stream,
size_t leftIndent = 0, size_t rightMargin = 80,
TabsOrBlanks tob = BLANKS,
TrailingBlanks tb = IGNORE_TRAILING_BLANKS)</strong>:<br>
This constructor initializes an <em>OFoldStream</em> object and uses as its
destination stream the <em>std::ostream stream</em>.
</ul>
<p>
The destructor writes any buffered information to the destination stream
and will then flush the destination stream.
<p>
<h2>MEMBER FUNCTIONS</h2>
All members of <strong>std::ostream</strong> are available, as <strong>FBB::OFoldStream</strong>
inherits from this class.
<ul>
<li> <strong>void close()</strong>:<br>
This member flushes any pending information to the destination stream
and then closes the destination stream.
<p>
<li> <strong>void open(char const *fname, openmode mode = std::ios::out)</strong>:<br>
This member associates the <em>OFilterStream</em> object with an
<em>std::ofstream</em> object whose filename is provided and that should receive
the folded information.
<p>
<li> <strong>void open(std::ostream &out)</strong>:<br>
This member associates the <em>OFilterStream</em> object with the provided
<em>ostream</em> object.
<p>
<li> <strong>void setMargins(size_t leftMargin, size_t rightMargin)</strong>:<br>
This member can be used to modify the left- and right folding
margins. Note that the left margin may also be modified using the <em>FBB::lm</em>
and <em>FBB::mlm</em> manipulators.
<p>
<li> <strong>void setTrailingBlanks(TrailingBlanks tb)</strong>:<br>
This member can be used to modify the currently used
<em>TrailingBlanks</em> parameter.
<p>
<li> <strong>void useBlanks()</strong>:<br>
This member can be used to select blanks to be used when inserting
left margins.
<p>
<li> <strong>void useTabs(size_t tabWidth = 8)</strong>:<br>
This member can be used to select tab-characters to be used when
inserting left margins. The second parameter is used to specify the display
width of a tab-character.
</ul>
<p>
<h2>STATIC MEMBER FUNCTIONS</h2>
<p>
<ul>
<li> <strong>size_t leftMargin(std::ostream const &os)</strong>:<br>
This member returns the current left margin setting of the
<em>OFoldStream</em> object passed to it as its argument. The member defines a
<em>std::ostream</em> parameter since in many cases the <em>OFoldStream</em> object will
be used in functions themselves defining <em>std::ostream</em>
parameters. Internally, the <em>std::ostream</em>'s <em>std::streambuf</em> is down cast
to an <em>OFoldStreambuf</em> and an <em>FBB::Exception</em> exception is thrown if that
cast fails.
<li> <strong>size_t rightMargin(std::ostream const &os)</strong>:<br>
This member returns the current right margin setting of the
<em>OFoldStream</em> object passed to it as its argument. The member's parameter is
down cast in the same way as <em>leftMargin()</em>'s argument: an <em>FBB::Exception</em>
exception is thrown if that cast fails.
</ul>
<p>
<h2>EXAMPLE</h2>
<pre>
#include <iostream>
#include <string>
#include <bobcat/ofoldstream>
using namespace std;
using namespace FBB;
void margins(ostream &out)
{
cout << OFoldStream::leftMargin(out) << ", " <<
OFoldStream::rightMargin(out) << endl;
}
int main()
{
OFoldStream out(cout, 4, 40);
out << lm(4);
string line;
while (getline(cin, line))
out << line << '\n';
margins(out);
return 0;
}
</pre>
<p>
<h2>FILES</h2>
<em>bobcat/ofoldstream</em> - defines the class interface
<p>
<h2>SEE ALSO</h2>
<strong>bobcat</strong>(7), <strong>lm</strong>(3bobcat), <strong>mlm</strong>(3bobcat),
<strong>ofoldstreambuf</strong>(3bobcat)
<p>
<h2>BUGS</h2>
None Reported.
<p>
<h2>DISTRIBUTION FILES</h2>
<ul>
<li> <em>bobcat_3.23.01-x.dsc</em>: detached signature;
<li> <em>bobcat_3.23.01-x.tar.gz</em>: source archive;
<li> <em>bobcat_3.23.01-x_i386.changes</em>: change log;
<li> <em>libbobcat1_3.23.01-x_*.deb</em>: debian package holding the
libraries;
<li> <em>libbobcat1-dev_3.23.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>
|