.TH "FBB::mlm" "3bobcat" "2005\-2020" "libbobcat\-dev_5\&.07\&.00" "OFoldStream manipulator" .PP .SH "NAME" FBB::mlm \- Manipulator modifying left margins of OFoldStream objects .PP .SH "SYNOPSIS" \fB#include \fP or .br \fB#include \fP .br Linking option: \fI\-lbobcat\fP .PP .SH "DESCRIPTION" .PP The \fImlm\fP class implements a manipulator that can be inserted into \fIOFoldStream\fP objects to modify the stream\(cq\&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\&. .PP Depending on the tab\-setting of the \fIOFoldStream\fP the inserted value represents the number of blank space characters or the number of tab\-characters that will be added to the left margin\&. .PP The request will be processed at the next newline character or \fIstd::flush\fP or \fIstd::endl\fP manipulator that is inserted into the stream\&. If a line is still empty once an \fImlm\fP object and a \fIflush\fP 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) .PP A \fIbad_cast\fP exception is thrown when the manipulator is inserted into an \fIostream\fP that is not using a \fIOFoldBuf\fP buffer\&. .PP .SH "NAMESPACE" \fBFBB\fP .br All constructors, members, operators and manipulators, mentioned in this man\-page, are defined in the namespace \fBFBB\fP\&. .PP .SH "INHERITS FROM" \- .PP .SH "CONSTRUCTOR" .IP o \fBmlm(int addValue)\fP: .br .PP Copy and move constructors (and assignment operators) are available\&. .PP .SH "MEMBER FUNCTIONS" .IP o \fBstd::ostream &modify(std::ostream &out) const\fP: .br This member is normally not directly called from user\-programs\&. Instead, it is called by the insertion operator when inserting the \fImlm\fP manipulator\&. .PP .SH "EXAMPLE" .nf #include #include using namespace std; using namespace FBB; int main() { OFoldStream out(cout, 0, 80); out << \(dq\&hello world (left margin is 0)\(dq\& << mlm(4) << \(dq\&\en\(dq\& \(dq\&this uses a 4 character wide left margin\en\(dq\& << mlm(\-10) << flush << \(dq\&left margin \-6 changed to 0, active on this line\en\(dq\&; } .fi .PP .SH "FILES" \fIbobcat/mlm\fP \- defines the class interface .PP .SH "SEE ALSO" \fBbobcat\fP(7), \fBmanipulators\fP(3bobcat), \fBlm\fP(3bobcat), \fBofoldstream\fP(3bobcat) .PP .SH "BUGS" None Reported\&. .PP .SH "BOBCAT PROJECT FILES" .PP .IP o \fIhttps://fbb\-git\&.gitlab\&.io/bobcat/\fP: gitlab project page; .IP o \fIbobcat_5\&.07\&.00\-x\&.dsc\fP: detached signature; .IP o \fIbobcat_5\&.07\&.00\-x\&.tar\&.gz\fP: source archive; .IP o \fIbobcat_5\&.07\&.00\-x_i386\&.changes\fP: change log; .IP o \fIlibbobcat1_5\&.07\&.00\-x_*\&.deb\fP: debian package containing the libraries; .IP o \fIlibbobcat1\-dev_5\&.07\&.00\-x_*\&.deb\fP: debian package containing the libraries, headers and manual pages; .PP .SH "BOBCAT" Bobcat is an acronym of `Brokken\(cq\&s Own Base Classes And Templates\(cq\&\&. .PP .SH "COPYRIGHT" This is free software, distributed under the terms of the GNU General Public License (GPL)\&. .PP .SH "AUTHOR" Frank B\&. Brokken (\fBf\&.b\&.brokken@rug\&.nl\fP)\&. .PP