Tools.h++ Manual
104011 Tandem Computers Incorporated 8-3
8
Inheriting from
RWvios
are abstract base classes
RWvistream
and
RWvostream
. These classes declare a suite of pure virtual functions such as
operator<<(), put(), get()
, and the like, for all of the basic built in
types and arrays of built in types:
Streams that inherit from
RWvistream
and
RWvostream
are intended to store
builtins to specialized streams in a format that is transparent to the user of the
classes.
The basic abstraction of the virtual streams facility is that builtins are
“inserted” into a virtual output stream, “extracted” from a virtual input
stream, without any regard for formatting. That is, there is no need to pad output
class RWvistream : public RWvios {
public:
virtual RWvistream& operator>>(char&) = 0;
virtual RWvistream& operator>>(double&) = 0;
virtual int get() = 0;
virtual RWvistream& get(char&) = 0;
virtual RWvistream& get(double&) = 0;
virtual RWvistream& get(char*, size_t N) = 0;
virtual RWvistream& get(double*, size_t N) = 0;
.
.
.
};
class RWvostream : public RWvios {
public:
virtual RWvostream& operator<<(char) = 0;
virtual RWvostream& operator<<(double) = 0;
virtual RWvostream& put(char) = 0;
virtual RWvostream& put(double) = 0;
virtual RWvostream& put(const char*, size_t N) = 0;
virtual RWvostream& put(const double*, size_t N) = 0;
.
.
.
};