Rechercher une page de manuel
multistreambuf.3bobcat
Langue: en
Version: 275390 (debian - 07/07/09)
Section: 3 (Bibliothèques de fonctions)
Sommaire
NAME
FBB::MultiStreambuf - Selectively writes multiple streamsSYNOPSIS
#include <bobcat/multistreambuf>Linking option: -lbobcat
DESCRIPTION
The FBB::MultiStreambuf class is a specialization of std::streambuf. It can be used to write selectvely to multiple std::ostreams. Each std::ostream that is associated with an FBB::MultiStreambuf is given a mode-tag indicating whether the stream should always be used when information is inserted into the FBB::MultiStreambuf, just once, or not at all. Each of the stream's mode-tags may be set to any of the defined tag-values.When the address of a FBB::MultiStreambuf is used to initialize a std::ostream the constructed std::ostream becomes an output-multiplexer: by inserting information into the std::ostream object, all std::ostream objects added to its FBB::MultiStreambuf buffer which have an active mode will receive that information.
An FBB::MultiStreambuf object should be outlived by all active streams that are associated with it.
No assumptions should be made about the order in which the std::ostream objects that are associated with the FBB::MultiStreambuf objects are visited when information is inserted.
NAMESPACE
FBBAll constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace FBB.
INHERITS FROM
std::streambufENUMERATION
In the Mode enumeration the following values are defined:- o
- OFF:
A std::ostream having this mode will not be used when information is inserted into an FBB::MultiStreambuf - o
- ON:
A std::ostream having this mode will be used when information is inserted into an FBB::MultiStreambuf - o
- ONCE:
A std::ostream having this mode will be used once, until the next flushing operation, when information is inserted into an FBB::MultiStreambuf - o
- RESET:
A std::ostream having this mode will not be used when information is inserted into an FBB::MultiStreambuf. At a flush operation all ONCE modes will be set to RESET
TYPES
The following subtypes are defined in the class FBB:MultiStreambuf:- o
- iterator:
This is a synonym of std::vector<stream>::iterator - o
- const_iterator:
This is a synonym of std::vector<stream>::const_iterator
NESTED CLASS
The class FBB::MultiStreambuf::stream is defined as a nested class of FBB::MultiStreambuf. It offers the following constructor and public members:- o
- stream(std::ostream &os, Mode mode = ON):
The constructor stores a std::ostream object, and associates a Mode value with it. - o
- void setMode(Mode mode):
This member is used to redefine the stream's Mode value. - o
- void mode() const:
This member returns the stream's Mode value. - o
- operator std::ostream &():
This member returns the stream's std::ostream.
CONSTRUCTORS
- o
- MultiStreambuf():
The default constructor creates a FBB::MultiStreambuf object which contains no associated std::ostream objects. - o
- MultiStreambuf(std::ostream &os, Mode mode = ON):
This constructor creates a FBB::MultiStreambuf object which is immediately associated with the std::ostream specified as its first argument. - o
- MultiStreambuf(std::vector<MultiStreambuf::stream> const &osvector):
This constructor creates a FBB::MultiStreambuf object which is immediately associated with all std::ostream objects that are stored in the MultiStreambuf::stream elements of the specified vector. The copy constructor is available.
MEMBER FUNCTIONS
All members of std::ostringstream and std::exception are available, as FBB::MultiStreambuf inherits from these classes.- o
- iterator begin():
This member returns an iterator to the first stream element that is stored in a FBB::MultiStreambuf object. - o
- const_iterator begin():
This member returns an iterator to the first (unmodifiable) stream element that is stored in a FBB::MultiStreambuf object. - o
- iterator end():
This member returns an iterator pointing beyond the last stream element that is stored in a FBB::MultiStreambuf object. - o
- iterator end():
This member returns an iterator pointing beyond the last (unmodifiable) stream element that is stored in a FBB::MultiStreambuf object. - o
- void insert(std::ostream &os, Mode mode = ON):
This member adds the specified std::ostream using the specified Mode to the current set of stream objects. - o
- void insert(std::vector<stream> const &os):
This member adds all stream objects stored in the os vector to the current set of stream objects. - o
- void void setOnce():
This member will reset all the RESET Mode values of the stored stream objects to ONCE.
EXAMPLE
#include <iostream> #include <fstream> #include <bobcat/multistreambuf> using namespace std; using namespace FBB; int main() { MultiStreambuf msb(cout); ostream os(&msb); ofstream out("out"); msb.insert(out, MultiStreambuf::ONCE); os << "This is on cout and out" << endl; os << "This is on cout only" << endl; msb.setOnce(); os << "This is on cout and out" << endl; os << "This is on cout only" << endl; return 0; }
FILES
bobcat/multistreambuf - defines the class interfaceSEE ALSO
bobcat(7)BUGS
None Reported.DISTRIBUTION FILES
- o
- bobcat_2.02.03-x.dsc: detached signature;
- o
- bobcat_2.02.03-x.tar.gz: source archive;
- o
- bobcat_2.02.03-x_i386.changes: change log;
- o
- libbobcat1_2.02.03-x_*.deb: debian package holding the libraries;
- o
- libbobcat1-dev_2.02.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).Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre