RWpistreamRWvistreamRWvios
Member Functions | |||
get() |
getString() |
operator void*() |
operator>>() |
#include <rw/pstream.h> RWpistream pstr(cin); // Construct an RWpistream, // using cin's streambuf
Class RWpistream specializes the abstract base class RWvistream to restore variables stored in a portable ASCII format by RWpostream.
You can think of RWpistream and RWpostream as an ASCII veneer over an associated streambuf. They are responsible for formatting variables and escaping characters such that the results can be interchanged between any machines. As such, they are slower than their binary counterparts, RWbistream and RWbostream, which are more machine dependent. Because RWpistream and RWpostream retain no information about the state of their associated streambufs, their use can be freely exchanged with other users of the streambuf, such as istream or ifstream.
RWpistream can be interrogated as to the stream state using member functions good(), bad(), eof(), and so on.
See RWpostream for an example of how to create an input stream for this program.
#include <rw/pstream.h> main(){ // Construct an RWpistream to use standard input RWpistream pstr(cin); int i; float f; double d; char string[80]; pstr >> i; // Restore an int that was stored in binary pstr >> f >> d; // Restore a float and double pstr.getString(string, 80); // Restore a character string }
RWpistream(streambuf* s);
Initializes an RWpistream from the streambuf s.
RWpistream(istream& str);
Initializes an RWpistream using the streambuf associated with the istream str.
virtual RWvistream& operator>>(char& c);
Redefined from class RWvistream. Gets the next character from the input stream and stores it in c. This member attempts to preserve the symbolic character values transmitted over the stream.
virtual RWvistream& operator>>(wchar_t& wc);
Redefined from class RWvistream. Gets the next wide char from the input stream and stores it in wc.
virtual RWvistream& operator>>(double& d);
Redefined from class RWvistream. Gets the next double from the input stream and stores it in d.
virtual RWvistream& operator>>(float& f);
Redefined from class RWvistream. Gets the next float from the input stream and stores it in f.
virtual RWvistream& operator>>(int& i);
Redefined from class RWvistream. Gets the next int from the input stream and stores it in i.
virtual RWvistream& operator>>(long& l);
Redefined from class RWvistream. Gets the next long from the input stream and stores it in l.
virtual RWvistream& operator>>(short& s);
Redefined from class RWvistream. Gets the next short from the input stream and stores it in s.
virtual RWvistream& operator>>(unsigned char& c);
Redefined from class RWvistream. Gets the next unsigned char from the input stream and stores it in c.
virtual RWvistream& operator>>(unsigned short& s);
Redefined from class RWvistream. Gets the next unsigned short from the input stream and stores it in s.
virtual RWvistream& operator>>(unsigned int& i);
Redefined from class RWvistream. Gets the next unsigned int from the input stream and stores it in i.
virtual RWvistream& operator>>(unsigned long& l);
Redefined from class RWvistream. Gets the next unsigned long from the input stream and stores it in l.
operator void*();
Inherited via RWvistream from RWvios.
virtual int get();
Redefined from class RWvistream. Gets and returns the next character from the input stream. Returns EOF if the end of file is encountered.
virtual RWvistream& get(char& c);
Redefined from class RWvistream. Gets the next char and stores it in c. This member only preserves ASCII numerical codes, not the corresponding character symbols.
virtual RWvistream& get(wchar_t& wc);
Redefined from class RWvistream. Gets the next wide char and stores it in wc.
virtual RWvistream& get(unsigned char& c);
Redefined from class RWvistream. Gets the next unsigned char and stores it in c.
virtual RWvistream& get(char* v, size_t N);
Redefined from class RWvistream. Gets a vector of chars and stores them in the array beginning at v. If the restore operation stops prematurely, because there are no more data available on the stream, because an exception is thrown, or for some other reason, get stores what was already retrieved from the stream into v, and sets the failbit. Note that this member preserves ASCII numerical codes, not their corresponding character values. If you want to restore a character string, use the function getString(char*, size_t).
virtual RWvistream& get(wchar_t* v, size_t N);
Redefined from class RWvistream. Gets a vector of wide chars and stores them in the array beginning at v. If the restore operation stops prematurely, because there are no more data available on the stream, because an exception is thrown, or for some other reason, get stores what has already been retrieved from the stream into v, and sets the failbit. Note that this member preserves ASCII numerical codes, not their corresponding character values. If you wish to restore a character string, use the function getString(char*, size_t).
virtual RWvistream& get(double* v, size_t N);
Redefined from class RWvistream. Gets a vector of doubles and stores them in the array beginning at v. If the restore operation stops prematurely, because there are no more data available on the stream, because an exception is thrown, or for some other reason, get stores what was already retrieved from the stream into v, and sets the failbit.
virtual RWvistream& get(float* v, size_t N);
Redefined from class RWvistream. Gets a vector of floats and stores them in the array beginning at v. If the restore operation stops prematurely, because there are no more data available on the stream, because an exception is thrown, or for some other reason, get stores what was already retrieved from the stream into v, and sets the failbit.
virtual RWvistream& get(int* v, size_t N);
Redefined from class RWvistream. Gets a vector of ints and stores them in the array beginning at v. If the restore operation stops prematurely, because there are no more data available on the stream, because an exception is thrown, or for some other reason, get stores what was already retrieved from the stream into v, and sets the failbit.
virtual RWvistream& get(long* v, size_t N);
Redefined from class RWvistream. Gets a vector of longs and stores them in the array beginning at v. If the restore operation stops prematurely, because there are no more data available on the stream, because an exception is thrown, or for some other reason, get stores what was already retrieved from the stream into v, and sets the failbit.
virtual RWvistream& get(short* v, size_t N);
Redefined from class RWvistream. Gets a vector of shorts and stores them in the array beginning at v. If the restore operation stops prematurely, because there are no more data available on the stream, because an exception is thrown, or for some other reason, get stores what was already retrieved from the stream into v, and sets the failbit.
virtual RWvistream& get(unsigned char* v, size_t N);
Redefined from class RWvistream. Gets a vector of unsigned chars and stores them in the array beginning at v. If the restore operation stops prematurely, because there are no more data available on the stream, because an exception is thrown, or for some other reason, get stores what was already retrieved from the stream into v, and sets the failbit. Note that this member preserves ASCII numerical codes, not their corresponding character values. If you want to restore a character string, use the function getString(char*, size_t).
virtual RWvistream& get(unsigned short* v, size_t N);
Redefined from class RWvistream. Gets a vector of unsigned shorts and stores them in the array beginning at v. If the restore operation stops prematurely, because there are no more data available on the stream, because an exception is thrown, or for some other reason, get stores what was already retrieved from the stream into v, and sets the failbit.
virtual RWvistream& get(unsigned int* v, size_t N);
Redefined from class RWvistream. Gets a vector of unsigned ints and stores them in the array beginning at v. If the restore operation stops prematurely, because there are no more data available on the stream, because an exception is thrown, or for some other reason, get stores what was already retrieved from the stream into v, and sets the failbit.
virtual RWvistream& get(unsigned long* v, size_t N);
Redefined from class RWvistream. Gets a vector of unsigned longs and stores them in the array beginning at v. If the restore operation stops prematurely, because there are no more data available on the stream, because an exception is thrown, or for some other reason, get stores what was already retrieved from the stream into v, and sets the failbit.
virtual RWvistream& getString(char* s, size_t N);
Redefined from class RWvistream. Restores a character string from the input stream and stores it in the array beginning at s. The function stops reading at the end of the string or after N-1 characters, whichever comes first. If N-1 characters are read and the Nth character is not the string terminator, the failbit of the stream is set. In either case, the string is terminated with a null byte. If the input stream is corrupted, an exception of type RWExternalErr is thrown.
virtual RWvistream& getString(wchar_t* ws, size_t N);
Redefined from class RWvistream. Restores a character string from the input stream and stores it in the array beginning at ws. The function stops reading at the end of the string or after N-1 characters, whichever comes first. If N-1 characters are read and the Nth character is not the string terminator, the failbit of the stream is set. In either case, the string is terminated with a null byte. If the input stream is corrupted, an exception of type RWExternalErr is thrown.
©Copyright 1999, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.