Provided by: libbobcat-dev_4.01.03-2ubuntu1_amd64 bug

NAME

       FBB::IFdStreambuf - Input stream buffer initialized by a file descriptor

SYNOPSIS

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

DESCRIPTION

       FBB::IFdStreambuf objects may be used as a std::streambuf of std::istream objects to allow
       extractions from 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::IFdStreamBuf 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      Ifdstreambuf():
              This  constructor  initializes  the  streambuf,  without  associating  it to a file
              descriptor, and without using buffering. The member open() can be used subsequently
              to  associate  the object with a file descriptor and optionally a buffer size. When
              the object is destroyed or if the mode-less overloaded version of the  open  member
              is called, the file descriptor will not be closed.

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

       o      IFdStreambuf(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 open member is called,  the
              file descriptor will not be closed.

       o      IFdStreambuf(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 open member is called, the
              Mode argument determines whether the file descriptor will be closed or will  remain
              open.  There is no copy constructor.

MEMBER FUNCTIONS

       All  members  of  std::streambuf  are  available,  as FBB::IFdStreambuf inherits from this
       class. Some of the std::streambuf’s member are overridden by FBB::IFdStreambuf, see below.

       o      void close():
              The file descriptor used by the IFdStreambuf is closed, irrespective  of  the  Mode
              that  was  specified  when the IFdStreambuf object was constructed. Following close
              the IFdStreambuf object can no longer be used until one of  its  open  members  has
              been called.

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

       o      void open(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 open(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 IFdStreambuf object is destroyed.

       Note that there is no overloaded assignment operator available for this class.

EXAMPLE

       To do

FILES

       bobcat/ifdstreambuf - defines the class interface

SEE ALSO

       bobcat(7), ifdstream(3bobcat), ofdstreambuf(3bobcat), std::streambuf

BUGS

       The member xsgetn(char *dest, std::streamsize n) will set istream::good()  to  false  when
       fewer bytes than n were read using istream::read(). Also see xsgetn’s description.

       Note  that  by  default the provided file descriptors remain open. The complementary class
       ofdstreambuf(3bobcat) closes the  file  descriptor  by  default.  This  inconsistency  was
       deliberately accepted to keep the classes interfaces backward compatible.

DISTRIBUTION FILES

       o      bobcat_4.01.03-x.dsc: detached signature;

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

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

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

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