FBB::IBase64Stream(3bobcat) Base64 encoding/decoding std::istream FBB::IBase64Stream(3bobcat)

FBB::IBase64Stream - Std::istream performing base64 encoding and decoding

#include <bobcat/ibase64stream>
Linking option: -lbobcat

FBB::IBase64Stream objects may be used to base64 encode or decrypt information that is available on a separate std::istream.

The class IBase64Stream is a class template, using a FBB::CryptType template non-type parameter. Objects of the class FBB::IBase64Stream<FBB::ENCRYPT> base64 encode the information they receive, objects of the class FBB::IBase64Stream<FBB::DECRYPT> base64 decode the information they receive.

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

FBB::IBase64Buf (private),
std::istream

IBase64Stream<CryptType>(std::istream &in, size_t bufSize = 1000):
This constructor initializes a std::istream providing it with an FBB::IBase64Buf stream buffer. The IBase64Buf’s constructor receives all arguments that are passed to this constructor.
- IBase64Stream<ENCRYPT> objects perform base64 encoding;
- IBase64Stream<DECRYPT> objects perform base64 decoding;
- IBase64Stream<CryptType> objects obtain the bytes to encode or decode from std::istream &in;
- The internally used IFilterBuf is initialized with a buffer of size bufSize, using a lower bound of 100.
The constructor uses a configurable buffer size for reading. Characters that were read into the buffer but are not part of the actual base64 encoded data are unavailable after completing the base64 decrypting. If information beyond the base64 input block should remain available, then specify a buffer size of 1.

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

Since the class uses public derivation from std::istream, all members of this class can be used.

#include "../ibase64stream"
#include <iostream>
using namespace std;
using namespace FBB;
int main()
{
    IBase64Stream<ENCRYPT> in(cin);
}

bobcat/ibase64stream - defines the class interface

bobcat(7), ibase64buf(3bobcat)

None Reported.

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

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

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

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

2005-2024 libbobcat-dev_6.06.02