GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  IOSTREAMBUF (3)

NAME

FBB::IOStreambuf - streambuf allowing input and output operations

CONTENTS

SYNOPSIS

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

DESCRIPTION

This class implements a specialization of the std::streambuf class, allowing input operations from and output operations to different files. It is intended to be used in combination with FBB::IOStream, thus allowing all stream-based input and output operations using the same object without the need to use seek-operations. Using an FBB::IOStream object it is, e.g., possible to construct two-way communications using pipes, much like the facilities offered by sockets.

If the streams that will be associated with the IOStreambuf object support seeking, then the IOStreambuf will do so to. Seeking might also be availble for a single stream (either the std::istream or the std::ostream).

When the IOStreambuf object goes out of scope, its associated std::ostream object is flushed.

NAMESPACE

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

INHERITS FROM

std::streambuf

CONSTRUCTORS

o IOStreambuf():
The default constructor results in a IOStreambuf object that cannot be immediately used. Its member open() must be called first.
o IOStreambuf(std::istream &in, std::ostream &out):
This constructor associates the IOStreambuf object with a std::istream and a std::ostream. All output operations will be passed on to the std::ostream, all input operations to the std::istream. The streams passed to IOStreambuf() should outlive the IOStreambuf object. Copy and move constructors is not available.

MEMBER FUNCTIONS

All members of std::streambuf are available, as FBB::IOStreambuf inherits from these classes.
o void open(std::istream &in, std::ostream &out):
This member (re)associates the IOStreambuf object with a std::istream and a std::ostream. All output operations will be passed on to the std::ostream, all input operations to the std::istream. The streams passed to IOStreambuf() should outlive the IOStreambuf object. If this member is called for an IOStreambuf object already associated with an std::ostream object, the already associated std::ostream object is flushed before setting up the new association.

VIRTUAL PROTECTED MEMBER FUNCTIONS

The following std::streambuf member functions should only be called when the FBB::Streambuf object is associated with std::istream and std::ostream objects (i.e., they should not be called between the construction of a default FBB:IOStreambuf object and a subsequent call of IOStreambuf::open()):

The members listed in this section implement the tasks of comparably named virtual function in the class\(cqs private interface. This separates the redefinable interface from the user-interface. The class IOStreamBuf can, in accordance with Liskov\(cqs Substitution Principle, be used as a std:streambuf; but it also offers facilities for classes deriving from IOStreamBuf. These facilities are listed here.

o pos_type pSeekoff(off_type offset, std::ios::seekdir way, std::ios::openmode mode = std::ios::in | std::ios::out):
With seekable streams, repositions the associated std::istream or std::ostream is repositioned to offset offset, relative to way.
o pos_type pSeekpos(off_type offset, std::ios::openmode mode = std::ios::in | std::ios::out):
With seekable streams, repositions the associated std::istream or std::ostream is repositioned to offset offset, relative to the beginning of the stream.
o int pSync():
This member flushes the associated std::ostream object.
o std::streamsize pXsputn(char const *buffer, std::streamsize n):
This member inserts n characters from buffer into the associated std::ostream stream.

EXAMPLE

See the example provided with process(3bobcat).

FILES

bobcat/iostreambuf - defines the class interface

SEE ALSO

bobcat(7), iostream(3bobcat), process(3bobcat)

BUGS

None reported.

DISTRIBUTION FILES

o bobcat_3.25.01-x.dsc: detached signature;
o bobcat_3.25.01-x.tar.gz: source archive;
o bobcat_3.25.01-x_i386.changes: change log;
o libbobcat1_3.25.01-x_*.deb: debian package holding the libraries;
o libbobcat1-dev_3.25.01-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\(cqs Own Base Classes And Templates\(cq.

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).

Search for    or go to Top of page |  Section 3 |  Main Index


libbobcat-dev_3&.25&.01-x&.tar&.gz FBB::IOSTREAMBUF (3bobcat) 2005-2015

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.