NAME¶
FBB::OFdStreambuf - Output stream buffer initialized by a file descriptor
SYNOPSIS¶
#include <bobcat/ofdstreambuf>
Linking option:
-lbobcat
DESCRIPTION¶
FBB::OFdStreambuf 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
- OFdStreambuf():
This constructor initializes the streambuf, without associating it to a file
descriptor, and without using buffering. The member open() 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 open member is called, the file
descriptor will be closed.
- o
- OFdStreambuf(Mode mode):
This constructor initializes the streambuf, without associating it to a file
descriptor, and without using buffering. The member open() 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 open member is called, the Mode
argument determines whether the file descriptor will be closed or will
remain open.
- o
- OFdStreambuf(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 open is called subsequently, or if the object is
destroyed the provided file descriptor will be closed.
- o
- OFdStreambuf(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 be
closed.
- o
- OFdStreambuf(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 are no copy or move constructors.
MEMBER FUNCTIONS¶
All members of
std::streambuf are available, as
FBB::OFdStreambuf
inherits from this class. Some of the
std::streambuf’s member are
overridden by
FBB::OFdStreambuf, see below.
- o
- void close():
The file descriptor used by the OFdStreambuf is closed, irrespective
of the Mode that was specified when the OFdStreambuf object
was constructed. Following close the OFdStreambuf 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 OFdStreambuf 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. The overloaded assignment
operator is not available.
PROTECTED MEMBER FUNCTION¶
The member listed in this section implements the tasks of the comparably named
virtual function in the class’s private interface. This separates the
redefinable interface from the user-interface. The class
OFdStreambuf
can, in accordance with Liskov’s Substitution Principle, be used as a
std:streambuf; but it also offers a facility for classes deriving from
OFdStreambuf. This facility is listed here.
- o
- int pSync():
The contents of the OFdStreambuf’s internal buffer flushed.
EXAMPLE¶
To do
FILES¶
bobcat/ofdstreambuf - defines the class interface
SEE ALSO¶
bobcat(7),
ifdstreambuf(3bobcat),
ofdstream(3bobcat),
std::streambuf
BUGS¶
None reported
DISTRIBUTION FILES¶
- o
- bobcat_3.01.00-x.dsc: detached signature;
- o
- bobcat_3.01.00-x.tar.gz: source archive;
- o
- bobcat_3.01.00-x_i386.changes: change log;
- o
- libbobcat1_3.01.00-x_*.deb: debian package holding
the libraries;
- o
- libbobcat1-dev_3.01.00-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).