Provided by: libbobcat-dev_6.04.00-1ubuntu3_amd64 bug

NAME

       FBB::Eoi - std::streambuf class offering an eoi manipulator

SYNOPSIS

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

DESCRIPTION

       The  class  Eoi  inherits  from  std::streambuf  and  may  therefore  be  used as a base class of classes
       specializing std::streambuf. It is particularly useful for classes implementing output operations, as  it
       can be used to specify the `true end’ of the generated output. E.g., an std::istream in object may insert
       its  content  into  a  std::ostream  out object using the familiar out << in.rdbuf() expression, but that
       doesn’t allow out to conclude that it has received all of its information.  Sometimes additional  actions
       are   required   to   complete   the   output   (this   happens   with,  e.g.,  EncryptBuf  objects  (cf.
       encryptbuf(3bobcat)) where after encrypting all input padding characters may have  to  be  added  to  the
       encrypted document). If out is initialized with the address of an EncryptBuf std::streambuf then the true
       end  of  the  input  can  be indicated by inserting the eoi manipulator. The resulting expression becomes
       std::cout << in.rdbuf() << eoi, and the manipulator ensures that the correct padding is handled.

NAMESPACE

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

INHERITS FROM

       std::streambuf

PROTECTED CONSTRUCTOR

       o      Eoi():
              Analogously to std::streambuf only a default protected constructor is available.

       Copy and move constructors (and assignment operators) are not available.

MEMBER FUNCTIONS

       All members of std:streambuf are available, as FBB::Eoi inherits from these classes.

VIRTUAL MEMBER FUNCTION

       o      virtual void eoi_():
              The virtual member function eoi_ is a private member that can be overridden by derived classes. By
              default it performs no actions.

MANIPULATOR

       o      std::ostream &FBB::eoi(std::ostream &out):
              The  eoi  manipulator  can  be inserted into the ostream using a streambuf which is inherited from
              FBB::EoiBuf to stop further  insertions  into  the  ostream.  If  it  is  inserted  into  a  plain
              std::ostream nothing happens.

              eoi  can  also  be  called  as  a  function,  receiving the stream that uses an FBB::EoiBuf as its
              streambuf. By default the eoi manipulator performs no actions. To use the manipulator in  a  class
              derived from EoiBuf the following approach can be used:

                  1. define a tt(bool d_eoi) data member, initialized to tt(false);
                  2. define a tt(void eoi_() override) member;
                  3. tt(eoi_) returns if tt(d_eoi == true), otherwise:
                  4. it sets tt(d_eoi) to tt(true) and performs the actions normally
                      performed by the class’s destructor;
                  5. the class’s destructor calls tt(eoi_()).

EXAMPLE

       See the example provided in the osymcryptstream(3bobcat) man-page

FILES

       bobcat/eoi - defines the class interface

SEE ALSO

       bobcat(7), eoibuf(3bobcat)

BUGS

       None Reported.

BOBCAT PROJECT FILES

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

       o      bobcat_6.04.00-x.dsc: detached signature;

       o      bobcat_6.04.00-x.tar.gz: source archive;

       o      bobcat_6.04.00-x_i386.changes: change log;

       o      libbobcat1_6.04.00-x_*.deb: debian package containing the libraries;

       o      libbobcat1-dev_6.04.00-x_*.deb: debian package containing the libraries, headers and manual pages;

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_6.04.00                               2005-2023                                  FBB::Eoi(3bobcat)