FBB::IOStream(3bobcat)
π FBB::IOStream β bestie edition π
okay so this is FBB::IOStream(3bobcat), and the whole ~vibe~ is "std::istream and std::ostream, but make it one girl." She's a combo class, she's the moment, and she comes to you straight from the bobcat manual. Let's get into it π«Ά
β¨ NAME β¨
FBB::IOStream β the class that literally just combines std::istream and std::ostream features into one iconic being. That's it. That's the name. Slay. π
π SYNOPSIS π
#include <bobcat/iostream>
Linking option: -lbobcat
π¦ DESCRIPTION π¦
So this class combines the features of the std::istream and std::ostream classes, and the plot twist is that the std::istream and std::ostream may be physically different streams. Not a typo, not a glitch β that's the whole point, bestie. β¨
FBB:IOStream objects may, like, be associated with streams wrapped around pipes (think FBB::IfdStream and FBB::OFdStream), which is literally how you construct bi-directional pipes. Main character behavior only π
π NAMESPACE π
FBB
All constructors, members, operators and manipulators mentioned in this man-page are defined in the namespace FBB. No strays, no exceptions, all accounted for π§
π INHERITS FROM π
FBB::IOBuf(private inheritance)std::istreamstd::ostream
πΈ CONSTRUCTORS πΈ
IOStream()β the default constructor. It constructs an emptyFBB::IOStreamobject. β οΈ Do not use it before itsopenmember (see below) has been called, fr fr. It's giving "empty until activated."IOStream(std::istream &in, std::ostream &out)β this constructor associates theIOStreamobject with astd::istreamand astd::ostream. Every output operation gets passed on to thestd::ostream, every input operation goes to thestd::istream. The streams passed toIOStreamshould outlive theIOStreamobject. π This constructor performs the actions of the default constructor and then calls theIOStream::openmember.
Copy and move constructors (and assignment operators) are not available. Not on the menu. Do not ask. π«
π MEMBER FUNCTIONS π
All members of std::istream and std::ostream are available, because FBB::IOStream inherits from these classes. Periodt.
And here's the cute part: when switching between std::istream and std::ostream operations, no intermediate seekg() or seekp() operation will normally be required, since the base classes will normally be associated with physically different streams. No extra steps, no drama, we love a seamless transition π₯
void open(std::istream &in, std::ostream &out)β this member (re)associates theIOStreamobject with astd::istreamand astd::ostream. All output operations will be passed on to thestd::ostream, all input operations to thestd::istream. The streams passed toIOStream()should outlive theIOStreamobject. π«Ά And heads up: if this member is called for anIOStreamobject that's already associated with anstd::ostreamobject, the already associatedstd::ostreamobject is flushed before setting up the new association. Clean exit, no leftovers β¨void clear()β this member clears the error states of the associatedstd::istreamandstd::ostreamobjects. Emotional reset button, honestly πΈ
β EXAMPLE β
See the example provided with process(3bobcat). (Yes, it's a whole cross-reference moment, go look π)
π FILES π
bobcat/iostreamβ defines the class interface
π SEE ALSO π
bobcat(7), ifdstream(3bobcat), iobuf(3bobcat), ofdstream(3bobcat), process(3bobcat)
π BUGS π
None Reported. (Not me being shocked β she's literally perfect, no notes π)
π BOBCAT PROJECT FILES π
- https://fbb-git.gitlab.io/bobcat/ β 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β. (iykyk π)
π COPYRIGHT π
This is free software, distributed under the terms of the GNU General Public License (GPL). Free as in "go off, bestie" β¨
πΈ AUTHOR πΈ
Frank B. Brokken (f.b.brokken@rug.nl). Legend behavior, honestly π
okay that's the whole page, bestie!! this is the FBB::IOStream(3bobcat) page from libbobcat-dev_6.15.01, dated 2005-2026 β shoutout to the bobcat era from 2005 all the way through 2026, a true long-running queen ππβ¨
π¦ 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