Provided by: libbobcat-dev_3.19.01-1ubuntu1_amd64
NAME
FBB::IBase64Streambuf - Input Filtering stream buffer doing base64 conversion
SYNOPSIS
#include <bobcat/ibase64streambuf> Linking option: -lbobcat
DESCRIPTION
The information made available by IBase64Streambuf objects has been subject to base64 encoding or decoding. The information to be converted is made available to IBase64Streambuf object via std::istream objects. The class IBase64Streambuf is a class template, using a FBB::CryptType template non-type parameter. Objects of the class FBB::IBase64Streambuf<FBB::ENCRYPT> base64 encode the information they receive, objects of the class FBB::IBase64Streambuf<FBB::DECRYPT> base64 decode the information they receive. See also section ENUMERATION below.
NAMESPACE
FBB All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace FBB.
INHERITS FROM
FBB::IFilterStreambuf
MEMBER FUNCTIONS
All members of FBB::IFilterStreambuf are available, as IBase64Streambuf inherits from this class. Overloaded move and/or copy assignment operators are not available.
ENUMERATION
IBase64Streambuf objects either base64 encode or decode information. IBase64Streambuf objects of the class FBB::IBase64Streambuf<FBB::ENCRYPT> base64 encode the data they receive, IBase64Streambuf objects of the class FBB::IBase64Streambuf<FBB::DECRYPT> base64 decode the data they receive. The values ENCRYPT and DECRYPT are defined in the enum CryptType, which is defined in the FBB namespace.
CONSTRUCTOR
o IBase64Streambuf<CryptType>(std::istream &in, size_t bufSize = 1000): This constructor initializes the streambuf. - IBase64Streambuf<ENCRYPT> objects perform base64 encoding; - IBase64Streambuf<DECRYPT> objects perform base64 decoding; - IBase64Streambuf<CryptType> objects obtain the bytes to encode or decode from std::istream ∈ - The IFilterStreambuf base class is initialized with a buffer of size bufSize, using a lower bound of 100. ) Copy- and move constructors are not available.
EXAMPLE
The example shows the construction of IBase64Streambuf<ENCRYPT> objects encode which are used to initialize a std::istream object. The information read from this istream is base64 encoded. IBase64Streambuf<DECRYPT> objects (decode reads base64 encoded information from std::istream objects and decodes it again. The std::istream din object is initialized with the IBase64Streambuf<DECRYPT> object, and its contents is sent to std::cout. The information that is presented at std::cin and that appears at std::cout should be identical. #include <iostream> #include <istream> #include <bobcat/ibase64streambuf> using namespace std; using namespace FBB; int main(int argc, char **argv) { switch (argv[1][0]) { case ’e’: { IBase64Streambuf<ENCRYPT> encode(cin); istream ein(&encode); cout << ein.rdbuf(); } break; case ’d’: { IBase64Streambuf<DECRYPT> decode(cin); istream din(&decode); cout << din.rdbuf(); } break; case ’b’: { IBase64Streambuf<ENCRYPT> encode(cin); istream ein(&encode); IBase64Streambuf<DECRYPT> decode(ein); istream din(&decode); cout << din.rdbuf(); } break; default: cout << "Usage: " << argv[0] << " [edb] < infile > outfile\n" "to base64 -e-ncode, -d-ecode or -b-oth\n"; break; } }
FILES
bobcat/ibase64streambuf - defines the class interface
SEE ALSO
bobcat(7), isymcryptstreambuf(3bobcat), ibase64stream(3bobcat), ifilterstreambuf(3bobcat), ofilterstreambuf(3bobcat), std::streambuf.
BUGS
None reported.
DISTRIBUTION FILES
o bobcat_3.19.01-x.dsc: detached signature; o bobcat_3.19.01-x.tar.gz: source archive; o bobcat_3.19.01-x_i386.changes: change log; o libbobcat1_3.19.01-x_*.deb: debian package holding the libraries; o libbobcat1-dev_3.19.01-x_*.deb: debian package holding the libraries, headers and manual pages; o http://sourceforge.net/projects/bobcat: public archive location;
BOBCAT
Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.
COPYRIGHT
This is free software, distributed under the terms of the GNU General Public License (GPL).
AUTHOR
Frank B. Brokken (f.b.brokken@rug.nl).