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

NAME

       FBB::IQuotedPrintableStreambuf - Input Filtering stream buffer doing quoted printable conversions

SYNOPSIS

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

DESCRIPTION

       The information made available by IQuotedPrintableStreambuf objects is either quoted-printable encoded or
       decoded.  The  information  to  convert  is  read  by  IQuotedPrintableStreambuf objects via std::istream
       objects.

       The class IQuotedPrintableStreambuf is  a  class  template,  using  a  FBB::CryptType  template  non-type
       parameter.  Objects  of the class FBB::IQuotedPrintableStreambuf<FBB::ENCODE> encode the information they
       receive, objects of the class FBB::IQuotedPrintableStreambuf<FBB::DECODE>  decode  the  information  they
       receive. See also section ENUMERATION below.

       Quoted-printable     encoding     is     sometimes    used    in    e-mail    attachments    (See    also
       https://en.wikipedia.org/wiki/Quoted-printable and https://www.ietf.org/rfc/rfc2045.txt  (section  6.7)).
       Its main characteristics are:

       o      Lines are at most 76 characters long;

       o      Lines longer than 76 characters are split into sub-lines, using =\n combinations to indicate `soft
              line breaks’. Lines not ending in soft line breaks indicate true end of lines.

       o      All  printable characters, except for the = character and (final) blank characters just before the
              end of lines, are copied as-is, all other characters are escaped by writing =XX sequences, with XX
              being the ascii-character representation of the hexadecimal value of the escaped character  (e.g.,
              the = character is encoded as =3D, a final space before end-of-line is encoded as =20, a final tab
              as =09). Only capital letters are used when escaping characters.

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  IQuotedPrintableStreambuf  inherits  from  this
       class.

       Overloaded move and/or copy assignment operators are not available.

ENUMERATION

       IQuotedPrintableStreambuf    objects    either    encode    or   decode   quoted-printable   information.
       IQuotedPrintableStreambuf objects of the  class  FBB::IQuotedPrintableStreambuf<FBB::ENCODE>  encode  the
       data       they       receive,       IQuotedPrintableStreambuf       objects       of      the      class
       FBB::IQuotedPrintableStreambuf<FBB::DECODE> decode the data they receive.

       The values ENCODE and DECODE are defined in the enum CryptType, defined in the FBB namespace.

CONSTRUCTOR

       o      IQuotedPrintableStreambuf<CryptType>(std::istream &in, size_t bufSize = 1000):
              This constructor initializes the streambuf.

              - IQuotedPrintableStreambuf<ENCODE> objects perform quoted-printable encoding;
              - IQuotedPrintableStreambuf<DECODE> objects perform quoted-printable decoding;
              -  IQuotedPrintableStreambuf<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 characters.

              The constructor uses a configurable buffer size for reading. Characters read into the buffer which
              are not part of the actual quoted-printable encoded data  are  unavailable  after  completing  the
              quoted-printable  decoding.  If  information beyond the quoted-printable input block should remain
              available, then a buffer size of 1 should be specified.

       Copy- and move constructors are not available.

EXAMPLE

       The example shows the construction of IQuotedPrintableStreambuf<ENCODE> objects encode which are used  to
       initialize a std::istream object. The information read from this istream is quoted-printable encoded.

       IQuotedPrintableStreambuf<DECODE>  objects  read  quoted-printable  encoded information from std::istream
       objects, decoding the information.

       The std::istream din object is initialized with the  IQuotedPrintableStreambuf<DECODE>  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/iquotedprintablestreambuf>

       using namespace std;
       using namespace FBB;

       int main(int argc, char **argv)
       {
           if (argc == 1)
           {
               cout << "Usage: " << argv[0] << " [edb] < infile > outfile\n"
                           "to quoted printable -e-ncode, -d-ecode or -b-oth\n";
               return 0;
           }

           switch (argv[1][0])
           {
               case ’e’:
               {
                   IQuotedPrintableStreambuf<ENCODE> encode(cin);
                   istream ein(&encode);
                   cout << ein.rdbuf();
               }
               break;

               case ’d’:
               {
                   IQuotedPrintableStreambuf<DECODE> decode(cin);
                   istream din(&decode);
                   cout << din.rdbuf();
               }
               break;

               case ’b’:
               {
                   IQuotedPrintableStreambuf<ENCODE> encode(cin);
                   istream ein(&encode);

                   IQuotedPrintableStreambuf<DECODE> decode(ein);
                   istream din(&decode);
                   cout << din.rdbuf();
               }
               break;
           }
       }

FILES

       bobcat/iquotedprintablestreambuf - defines the class interface

SEE ALSO

       bobcat(7),   isymcryptstreambuf(3bobcat),   iquotedprintablestream(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).

libbobcat-dev_4.08.02-x.tar.gz                      2005-2017                 FBB::IQuote...leStreambuf(3bobcat)