FBB::lm(3bobcat)
π« NAME π«
FBB::lm β a manipulator that sets the left margin of OFoldStream objects, bestie. That's the whole gig. π
Quick vibe check before we dive: this page lives in the 3bobcat manual, and the library it's from is bobcat. Now let's get into it.
β¨ SYNOPSIS β¨
#include <bobcat/ofoldstream> or
#include <bobcat/ofoldbuf>
Linking option: -lbobcat
πΈ DESCRIPTION πΈ
Okay so the lm class is literally a manipulator you insert into OFoldStream objects to set that stream's left margin to whatever value you want. Iconic behavior honestly.
Depending on how the OFoldStream has its tabs set, the value you insert means the number of blank space characters used for the left margin, or the number of tab characters used for the left margin. So same number, two different meanings β depends on the tab setting, iykyk. π
Here's the thing though, because timing is everything: your request doesn't happen instantly. It gets processed at the next newline character, or the next std::flush or std::endl manipulator that you insert into the stream. And if a line is still going once an lm object and a flush manipulator have been inserted into the stream, then the new left margin becomes effective at the next word inserted into that line. Peep the example section below for the visuals. π₯
π¨ Warning bestie: abad_castexception gets thrown if you insert this manipulator into anostreamthat is not using anOFoldBufbuffer. So don't do that. It will not slay, it will crash.
π¦ NAMESPACE π¦
FBB
Every constructor, member, operator and manipulator mentioned in this man-page is defined in the namespace FBB. All of them. No stragglers. π
π INHERITS FROM π
-
Nope. Nothing. It inherits from nothing, it's self-made, it's independent, it's giving main character energy.
π CONSTRUCTOR π
lm(size_t newValue)β constructs it with the new margin value you're requesting.
Also, copy and move constructors (and assignment operators) are available. So you can copy it, move it, assign it. Versatile queen. β¨
π MEMBER FUNCTIONS π
std::ostream &modify(std::ostream &out) constβ this member is normally not called directly from your programs, so hands off unless you know exactly what you're doing. Instead, the insertion operator calls it for you when you insert thelmmanipulator. Let the machinery do its thing, bestie. π«Ά
π 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 β this defines the class interface. That's where it lives. π
β SEE ALSO β
bobcat(7), manipulators(3bobcat), mlm(3bobcat), ofoldstream(3bobcat)
Go read those if you want the full lore. The cross-references ate, fr fr.
π BUGS π
None Reported.
(We love a clean bug report. No notes. Perfect. Periodt.)
π BOBCAT PROJECT FILES π
https://fbb-git.gitlab.io/bobcat/β the gitlab project page;
Debian Bobcat project files:
libbobcat6β debian package containing the shared library, changelog and copyright note;libbobcat-devβ debian package containing the static library, headers, manual pages, and developer info;
πΈ BOBCAT πΈ
Bobcat is an acronym of `Brokkenβs Own Base Classes And Templatesβ. Yes really. That's the name. It's iconic in a very specific way and we respect it. π
π COPYRIGHT π
This is free software, distributed under the terms of the GNU General Public License (GPL). Free as in freedom, bestie. ποΈ
π AUTHOR π
Frank B. Brokken (f.b.brokken@rug.nl). The legend himself. π«Ά
And that's the whole page, gorgeous. This manual page came to you from libbobcat-dev_6.15.01, dated 2005-2026 β a whole era of bobcat excellence, and the lm manipulator is still out here setting left margins like a boss. Slay, stay safe, and always check your buffer type before you insert. πβ¨π¦
π¦ where this page comes from
- ubuntu stonking: libbobcat-dev 6.15.01-1 Β· GPL-3.0-or-later WITH OpenSSL exception
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms