FBB::mlm - Manipulator modifying left margins of OFoldStream
objects
SYNOPSIS
#include <bobcat/ofoldstream> or #include <bobcat/ofoldstreambuf>
Linking option: -lbobcat
DESCRIPTION
The mlm class implements a manipulator that can be inserted into
OFoldStream objects to modify the stream's left margin by a requested
amount. The request cannot result in a negative left margin value. If a
negative left margin would be the arithmetic result of the request then left
margin 0 will silently be used.
Depending on the tab-setting of the OFoldStream the inserted value
represents the number of blank space characters or the number of
tab-characters that will be added to the left margin.
The request will be processed at the next newline character or std::flush
or std::endl manipulator that is inserted into the stream. If a line is
still empty once an mlm object and a flush manipulator are inserted
into the stream then the new left margin will be effective at the next word
inserted into that line (cf., the example section below)
A bad_cast exception is thrown when the manipulator is inserted into an
ostream that is not using a OFoldStreambuf buffer.
NAMESPACE
FBB
All constructors, members, operators and manipulators, mentioned in this
man-page, are defined in the namespace FBB.
INHERITS FROM
-
CONSTRUCTOR
mlm(int addValue):
The standard copy constructor is available.
MEMBER FUNCTIONS
There are no public or protected member functions in this class.
EXAMPLE
#include <iostream>
#include <bobcat/ofoldstream>
using namespace std;
using namespace FBB;
int main()
{
OFoldStream out(cout, 0, 80);
out << "hello world (left margin is 0)" << mlm(4) << "\n"
"this uses a 4 character wide left margin\n" <<
mlm(-10) << flush <<
"left margin -6 changed to 0, active on this line\n";
return 0;
}