Provided by: libbobcat-dev_4.08.02-2build1_amd64 bug

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 &in;
              -  The  IFilterStreambuf  base  class 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 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_4.08.02-x.dsc: detached signature;

       o      bobcat_4.08.02-x.tar.gz: source archive;

       o      bobcat_4.08.02-x_i386.changes: change log;

       o      libbobcat1_4.08.02-x_*.deb: debian package holding the libraries;

       o      libbobcat1-dev_4.08.02-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).