IQUOTEDPRINTABLESTREAM(3bobcat)
β¨ NAME β¨
FBB::IQuotedPrintableStream β a std::istream that does quoted-printable encoding and decoding, bestie π
So this is page IQUOTEDPRINTABLESTREAM(3bobcat) from the bobcat manual, and yes it's giving "little class, big feelings" π¦
πΈ SYNOPSIS πΈ
#include <bobcat/iquotedprintablestream>
Linking option: -lbobcat
π DESCRIPTION π
okay so FBB::IQuotedPrintableStream objects are your go-to when you want to quoted-printable encode or decode stuff that lives on some other std::istream. Like, the data isn't in this object, it's over there, and this class is the translator π
IQuotedPrintableStream is a class template β it takes an FBB::CodeType template non-type parameter. That's the whole personality switch:
- objects of the class
FBB::IQuotedPrintableStream<FBB::ENCODE>encode the info they receive π₯ - objects of the class
FBB::IQuotedPrintableStream<FBB::DECODE>decode the info they receive π§
π NAMESPACE π
FBB
Every single constructor, member, operator and manipulator mentioned on this man-page? All defined in the namespace FBB. No cap.
π INHERITS FROM π
FBB::IQuotedPrintableBuf(private)std::istream
π«Ά CONSTRUCTORS π«Ά
IQuotedPrintableStream<CodeType>(std::istream &in, size_t bufSize = 1000)β this constructor sets up astd::istreamand hands it anFBB::IQuotedPrintableBufstream buffer. TheIQuotedPrintableBuf's constructor receives all the arguments you pass to this constructor. It's giving pass-the-parcel, but make it C++ πIQuotedPrintableStream<ENCODE>objects perform quoted printable encoding;IQuotedPrintableStream<DECODE>objects perform quoted printable decoding;IQuotedPrintableStream<CodeType>objects get the bytes they're gonna encode or decode fromstd::istream ∈- the internally used
IFilterBufis initialized with a buffer of size bufSize, using a lower bound of100.
β οΈ heads up bestie: this constructor uses a configurable buffer size for reading. Characters that got read into the buffer but are not part of the actual quoted printable encoded data are unavailable after the quoted printable decoding finishes. So if you need info beyond the quoted printable input block to still be there afterwards, pass a buffer size of 1. literally one. do not forget this one π₯
Copy and move constructors (and assignment operators) are not available. Not even a little bit. Nope. π
π INHERITED MEMBERS π
Because the class uses public derivation from std::istream, every member of that class is yours to use. Slay, inherited API π
β EXAMPLE β
#include <iostream>
#include <bobcat/iquotedprintablestream>
using namespace std;
using namespace FBB;
int main()
{
IQuotedPrintableStream<ENCODE> in(cin);
cout << in.rdbuf(); // quoted printable encode the info on
// cin.
}
Also go peek at the example over in the iquotedprintablebuf(3bobcat) man-page, there's more where that came from π
π¦ FILES π¦
bobcat/iquotedprintablestream β defines the class interface
π SEE ALSO π
bobcat(7), iquotedprintablebuf(3bobcat)
π BUGS π
None Reported. (iconic behaviour, honestly)
π 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'. Yes that's the whole vibe π
π COPYRIGHT π
This is free software, distributed under the terms of the GNU General Public License (GPL). Free as in, go wild, but respect the license bestie π«Ά
π§ AUTHOR π§
Frank B. Brokken (f.b.brokken@rug.nl).
and that's the whole page, periodt β¨ cute little sign-off for you: this shipped as part of libbobcat-dev_6.15.01, dated 2005-2026, and you can find it under FB...am(3bobcat) in section 3bobcat of the manual. mwah π
π¦ 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