.TH "FBB::IBase64Stream" "3bobcat" "2005\-2023" "libbobcat\-dev_6\&.04\&.00" "Base64 encoding/decoding std::istream" .PP .SH "NAME" FBB::IBase64Stream \- Std::istream performing base64 encoding and decoding .PP .SH "SYNOPSIS" \fB#include \fP .br Linking option: \fI\-lbobcat\fP .PP .SH "DESCRIPTION" \fBFBB::IBase64Stream\fP objects may be used to base64 encode or decrypt information that is available on a separate \fIstd::istream\fP\&. .PP The \fIclass IBase64Stream\fP is a class template, using a \fIFBB::CryptType\fP template non\-type parameter\&. Objects of the class \fIFBB::IBase64Stream\fP base64 encode the information they receive, objects of the class \fIFBB::IBase64Stream\fP base64 decode the information they receive\&. .PP .SH "NAMESPACE" \fBFBB\fP .br All constructors, members, operators and manipulators, mentioned in this man\-page, are defined in the namespace \fBFBB\fP\&. .PP .SH "INHERITS FROM" \fBFBB::IBase64Buf\fP (private), .br \fBstd::istream\fP .PP .SH "CONSTRUCTORS" .IP o \fBIBase64Stream(std::istream &in, size_t bufSize = 1000)\fP: .br This constructor initializes a \fIstd::istream\fP providing it with an \fIFBB::IBase64Buf\fP stream buffer\&. The \fIIBase64Buf\fP\(cq\&s constructor receives all arguments that are passed to this constructor\&. .IP \- \fIIBase64Stream\fP objects perform base64 encoding; .br \- \fIIBase64Stream\fP objects perform base64 decoding; .br \- \fIIBase64Stream\fP objects obtain the bytes to encode or decode from \fIstd::istream &in\fP; .br \- The internally used \fIIFilterBuf\fP is initialized with a buffer of size \fIbufSize\fP, using a lower bound of 100\&. .IP 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\&. .PP Copy and move constructors (and assignment operators) are not available\&. .PP .SH "INHERITED MEMBERS" .PP Since the class uses public derivation from \fBstd::istream\fP, all members of this class can be used\&. .PP .SH "EXAMPLE" .nf #include \(dq\&\&.\&./ibase64stream\(dq\& #include using namespace std; using namespace FBB; int main() { IBase64Stream in(cin); } .fi .PP .SH "FILES" \fIbobcat/ibase64stream\fP \- defines the class interface .PP .SH "SEE ALSO" \fBbobcat\fP(7), \fBibase64buf\fP(3bobcat) .PP .SH "BUGS" None Reported\&. .PP .SH "BOBCAT PROJECT FILES" .PP .IP o \fIhttps://fbb\-git\&.gitlab\&.io/bobcat/\fP: gitlab project page; .IP o \fIbobcat_6\&.04\&.00\-x\&.dsc\fP: detached signature; .IP o \fIbobcat_6\&.04\&.00\-x\&.tar\&.gz\fP: source archive; .IP o \fIbobcat_6\&.04\&.00\-x_i386\&.changes\fP: change log; .IP o \fIlibbobcat1_6\&.04\&.00\-x_*\&.deb\fP: debian package containing the libraries; .IP o \fIlibbobcat1\-dev_6\&.04\&.00\-x_*\&.deb\fP: debian package containing the libraries, headers and manual pages; .PP .SH "BOBCAT" Bobcat is an acronym of `Brokken\(cq\&s Own Base Classes And Templates\(cq\&\&. .PP .SH "COPYRIGHT" This is free software, distributed under the terms of the GNU General Public License (GPL)\&. .PP .SH "AUTHOR" Frank B\&. Brokken (\fBf\&.b\&.brokken@rug\&.nl\fP)\&. .PP