1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
includefile(include/header)
COMMENT(manpage, section, releasedate, archive, short name)
manpage(FBB::IOStream)(3bobcat)(_CurYrs_)(libbobcat-dev__CurVers_)
(std::istream and std::ostream)
manpagename(FBB::IOStream)(Combines std::istream and std::ostream features)
manpagesynopsis()
bf(#include <bobcat/iostream>)nl()
Linking option: tt(-lbobcat)
manpagedescription()
This class combines the features of the bf(std::istream) and
bf(std::ostream) classes. The bf(std::istream) and bf(std::ostream) may be
physically different streams. bf(FBB:IOStream) objects may, e.g., be
associated with streams wrapped around em(pipes) (see, e.g.,
bf(FBB::IfdStream) and bf(FBB::OFdStream)), to construct bi-directional pipes.
includefile(include/namespace)
manpagesection(INHERITS FROM)
bf(FBB::IOBuf) (private inheritance),nl()
bf(std::istream),nl()
bf(std::ostream)
manpagesection(CONSTRUCTORS)
itemization(
itb(IOStream())
The default constructor constructs an empty bf(FBB::IOStream)
objects. It should not be used before its tt(open) member (see below) was
called.
itb(IOStream(std::istream &in, std::ostream &out))
This constructor associates the bf(IOStream) object with a
tt(std::istream) and a tt(std::ostream). All output operations will be passed
on to the tt(std::ostream), all input operations to the tt(std::istream). The
streams passed to tt(IOStream) should outlive the bf(IOStream) object. This
constructor performs the actions of the default constructor and then calls the
tt(IOStream::open) member
)
Copy and move constructors (and assignment operators) are not available.
manpagesection(MEMBER FUNCTIONS)
All members of tt(std::istream) and tt(std::ostream) are
available, as bf(FBB::IOStream) inherits from these classes. Furthermore, when
switching between tt(std::istream) and tt(std::ostream) operations, no
intermediate tt(seekg()) or tt(seekp()) operation will normally be required,
since the base classes will normally be associated with physically different
streams.
itemization(
itb(void open(std::istream &in, std::ostream &out))
This member (re)associates the bf(IOStream) object with a
tt(std::istream) and a tt(std::ostream). All output operations will be passed
on to the tt(std::ostream), all input operations to the tt(std::istream). The
streams passed to tt(IOStream()) should outlive the bf(IOStream) object. If
this member is called for an bf(IOStream) object already associated with an
tt(std::ostream) object, the already associated tt(std::ostream) object is
flushed before setting up the new association.
itb(void clear())
This member clears the error states of the associated tt(std::istream)
and tt(std::ostream) objects.
)
manpagesection(EXAMPLE)
See the example provided with bf(process)(3bobcat).
manpagefiles()
em(bobcat/iostream) - defines the class interface
manpageseealso()
bf(bobcat)(7), bf(ifdstream)(3bobcat), bf(iobuf)(3bobcat),
bf(ofdstream)(3bobcat), bf(process)(3bobcat)
manpagebugs()
None Reported.
includefile(include/trailer)
|