# FBB::lm(3bobcat)

## OFoldStream manipulator
(libbobcat-dev_5.11.00)

## 2005-2022

## NAME

FBB::lm - Manipulator setting left margins of OFoldStream objects

## SYNOPSIS

#include <bobcat/ofoldstream> or
#include <bobcat/ofoldbuf>
Linking option: -lbobcat

## DESCRIPTION

The lm class implements a manipulator that can be inserted into OFoldStream objects to set the stream's left margin to a requested value.

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 used for 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 once an lm 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 OFoldBuf buffer.

## NAMESPACE

FBB
All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace FBB.

## INHERITS FROM

-

## CONSTRUCTOR

- lm(size_t newValue):

Copy and move constructors (and assignment operators) are available.

## MEMBER FUNCTIONS

- std::ostream &modify(std::ostream &out) const:
  This member is normally not directly called from user-programs. Instead, it is called by the insertion operator when inserting the lm manipulator.

## 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)" << lm(4) << "\n"
                   "this uses a 4 character wide left margin\n" <<
                   lm(0) << flush << "at column 0 again\n";
        }

## FILES

bobcat/lm - defines the class interface

## SEE ALSO

bobcat(7), manipulators(3bobcat), mlm(3bobcat), ofoldstream(3bobcat)

## BUGS

None Reported.

## BOBCAT PROJECT FILES

- https://fbb-git.gitlab.io/bobcat/: gitlab project page;
- bobcat_5.11.00-x.dsc: detached signature;
- bobcat_5.11.00-x.tar.gz: source archive;
- bobcat_5.11.00-x_i386.changes: change log;
- libbobcat1_5.11.00-x_*.deb: debian package containing the libraries;
- libbobcat1-dev_5.11.00-x_*.deb: debian package containing the libraries, headers and manual pages;

## BOBCAT

Bobcat is an acronym of `Brokken's Own Base Classes And Templates'.

## COPYRIGHT

This is free software, distributed under the terms of the GNU General Public License (GPL).

## AUTHOR

Frank B. Brokken (f.b.brokken@rug.nl).