logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

FBB::mlm - Manipulator modifying left margins of OFoldStream objects

Author

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

libbobcat-dev_6.07.01                               2005-2025                                  FBB::mlm(3bobcat)

Bobcat

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

Bobcat Project Files

       o      https://fbb-git.gitlab.io/bobcat/: gitlab project page;

       Debian Bobcat project files:

       o      libbobcat6: debian package containing the shared library, changelog and copyright note;

       o      libbobcat-dev: debian package containing the static library, headers, manual pages, and  developer
              info;

Bugs

       None Reported.

Constructor

       o      mlm(intaddValue):

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

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
       OFoldBuf buffer.

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";
           }

Files

bobcat/mlm - defines the class interface

Inherits From

       -

Member Functions

       o      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 mlm manipulator.

Name

       FBB::mlm - Manipulator modifying left margins of OFoldStream objects

Namespace

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

See Also

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

Synopsis

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

See Also