iostream(3bobcat)

iostream3bobcat

Combines std::istream and std::ostream features

Usage

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

Overview

This class combines the features of the std::istream and std::ostream classes. The std::istream and std::ostream may be physically different streams. FBB:IOStream objects may, e.g., be associated with streams wrapped around pipes (see, e.g., FBB::IfdStream and FBB::OFdStream), to construct bi-directional pipes.

Namespace

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

Inherits from

FBB::IOBuf (private inheritance),
std::istream,
std::ostream

Constructors

o

IOStream():
The default constructor constructs an empty FBB::IOStream objects. It should not be used before its open member (see below) was called.

o

IOStream(std::istream &in, std::ostream &out):
This constructor associates the IOStream 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 IOStream should outlive the IOStream object. This constructor performs the actions of the default constructor and then calls the IOStream::open member

Copy and move constructors (and assignment operators) are not available.

Member functions

All members of std::istream and std::ostream are available, as FBB::IOStream inherits from these classes. Furthermore, when switching between std::istream and std::ostream operations, no intermediate seekg() or seekp() operation will normally be required, since the base classes will normally be associated with physically different streams.

o

void open(std::istream &in, std::ostream &out):
This member (re)associates the IOStream 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 IOStream() should outlive the IOStream object. If this member is called for an IOStream object already associated with an std::ostream object, the already associated std::ostream object is flushed before setting up the new association.

o

void clear():
This member clears the error states of the associated std::istream and std::ostream objects.

Examples

See the example provided with process(3bobcat).

Files

bobcat/iostream - defines the class interface

Bobcat project files

o

https://fbb-git.gitlab.io/bobcat/: gitlab project page;

Debian Bobcat project files:

o

libbobcat6: debian package containing the shared library, changelog and copyright note;

o

libbobcat-dev: debian package containing the static library, headers, manual pages, and developer info;

Bobcat

Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.

Releases

10 releases since Debian 4.0 (Etch); the text changed 9 times.

  1. 4.0
  2. 5.0
  3. 6.0
  4. 7
  5. 8
  6. 9
  7. 10
  8. 11
  9. 12
  10. 13

Bugs

None Reported.

Author

Frank B. Brokken ([email protected]).

From libbobcat-dev 6.07.01-2 in Debian 13 (Trixie). Parsed by carta from the page's man source.