logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

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

libbobcat-dev_6.07.01                               2005-2025                        FBB::IBase64Stream(3bobcat)

Bobcat

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

Bobcat Project Files

       o      https://fbb-git.gitlab.io/bobcat/: gitlab project page;

       Debian Bobcat project files:

       o      libbobcat6: debian package containing the shared library, changelog and copyright note;

       o      libbobcat-dev:  debian package containing the static library, headers, manual pages, and developer
              info;

Bugs

       None Reported.

Constructors

       o      IBase64Stream<CryptType>(std::istream&in,size_tbufSize=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.

Description

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

       The classIBase64Stream 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.

Example

       #include <iostream>

       #include <bobcat/ibase64stream>

       using namespace std;
       using namespace FBB;

       int main()
       {
           IBase64Stream<ENCRYPT> in(cin);
       }

Files

bobcat/ibase64stream - defines the class interface

Inherited Members

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

Inherits From

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

Name

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

Namespace

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

See Also

bobcat(7), ibase64buf(3bobcat)

Synopsis

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

See Also