Provided by: libbobcat-dev_5.00.02-2_amd64 bug

NAME

       FBB::OFdBuf - Output stream buffer initialized by a file descriptor

SYNOPSIS

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

DESCRIPTION

       FBB::OFdBuf  objects  may  be  used  as  a std::streambuf of std::ostream objects to allow
       insertions into a file descriptor.

       File descriptors are not defined within the context of  C++,  but  they  can  be  used  on
       operating systems that support the concept. Realize that using file descriptors introduces
       operating system dependencies.

NAMESPACE

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

INHERITS FROM

       std::streambuf

ENUMERATION

       The  public  enumeration  Mode  defined  in  the class FBB::OFdStreamBuf has the following
       values:

       o      CLOSE_FD, indicating that the file descriptor used by the object must be closed;

       o      KEEP_FD (the default) indicating that the file descriptor used by the  object  must
              not be closed.

CONSTRUCTORS

       o      OFdBuf():
              This  constructor  initializes  the  streambuf,  without  associating  it to a file
              descriptor, and without using buffering. The member reset can be used to  associate
              the  object later on with a file descriptor and optionally a buffer size.  When the
              object is destroyed or if the mode-less overloaded version of the reset  member  is
              called, the file descriptor is closed.

       o      OFdBuf(Mode mode):
              This  constructor  initializes  the  streambuf,  without  associating  it to a file
              descriptor, and without using buffering. The member reset can be used to  associate
              the  object later on with a file descriptor and optionally a buffer size.  When the
              object is destroyed or if the mode-less overloaded version of the member  reset  is
              called,  the Mode argument determines whether the file descriptor will be closed or
              will remain open.

       o      OFdBuf(int fd, size_t n = 1):
              This constructor initializes the streambuf, associating it to file  descriptor  fd,
              and  an  optional  unget  buffer  size  (by default having size 1).  When  reset is
              called subsequently, or if the object is destroyed  the  provided  file  descriptor
              will be closed.

       o      OFdBuf(int fd, size_t n = 1):
              This  constructor  initializes the streambuf, associating it to file descriptor fd,
              and an optional unget buffer size (by default having size 1).  When the  object  is
              destroyed or if the mode-less overloaded version of the member reset is called, the
              file descriptor will be closed.

       o      OFdBuf(int fd, Mode mode, size_t n = 1):
              This constructor initializes the streambuf, associating it to file  descriptor  fd,
              and  an  optional unget buffer size (by default having size 1).  When the object is
              destroyed or if the mode-less overloaded version of the member reset is called, the
              Mode  argument determines whether the file descriptor will be closed or will remain
              open.

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

MEMBER FUNCTIONS

       All members of std::streambuf are available, as FBB::OFdBuf inherits from this class.

       o      void eoi():
              The file descriptor used by the OFdBuf is closed, irrespective of the Mode that was
              specified  when  the OFdBuf object was constructed. Following eoi the OFdBuf object
              can no longer be used until one of its reset members has been  called.  Instead  of
              using this member the eoi manipulator can also be used.

       o      int fd() const:
              The  file  descriptor  used by the OFdBuf object is returned.  If the OFdBuf is not
              associated with a file descriptor -1 is returned.

       o      void reset(int xfd, size_t n = 1):
              The streambuf is (re)initialized, using file descriptor fd, and an  optional  unget
              buffer  size  (by  default  having  size  1).  When  called  repeatedly,  the  Mode
              specification used whem the object was  constructed  determines  whether  the  file
              descriptor will be closed or will remain open.

       o      void reset(int xfd, Mode mode, size_t n = 1):
              The  streambuf  is  (re)initialized,  using  file  descriptor fd, a file descriptor
              closing parameter and an optional unget buffer size (by  default  having  size  1).
              Depending  on the Mode argument the object’s currently used file descriptor will be
              closed or will remain open when the IFdBuf object is destroyed.

MANIPULATOR

       o      FBB::eoi:
              The eoi manipulator can be  inserted  into  the  ostream  instead  of  calling  the
              OFdBuf::end  member.  It  performs the same actions as the eoi member.  If inserted
              into a plain std::ostream nothing happens.

EXAMPLE

       #include <unistd.h>

       #include <ostream>
       #include <string>

       #include "../ofdbuf"

       using namespace std;
       using namespace FBB;

       int main(int argc, char **argv)
       {
                                  // define a streambuf of 20 or argv[1] characters
           OFdBuf buf{ STDOUT_FILENO, argc == 1 ? 20 : stoul(argv[1]) };

           ostream out{ &buf };

           out << "First line, just to start the insertions\n" <<
                   argv[0] << endl <<          // using an explicit flush
                   argc << "\n"
                   "a long line to end this multiple-insertions statement\n";
       }

FILES

       bobcat/ofdbuf - defines the class interface

SEE ALSO

       bobcat(7), ifdbuf(3bobcat), ofdstream(3bobcat), std::streambuf

BUGS

       None reported

DISTRIBUTION FILES

       o      bobcat_5.00.02-x.dsc: detached signature;

       o      bobcat_5.00.02-x.tar.gz: source archive;

       o      bobcat_5.00.02-x_i386.changes: change log;

       o      libbobcat1_5.00.02-x_*.deb: debian package holding the libraries;

       o      libbobcat1-dev_5.00.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).