A portable input stream based on XDR routines. More...
#include <rw/xdrstrea.h>
Public Member Functions | |
RWXDRistream (XDR *xp) | |
RWXDRistream (std::streambuf *sb) | |
RWXDRistream (std::istream &str) | |
virtual | ~RWXDRistream () |
virtual int | bad () |
virtual void | clear (int v=0) |
virtual int | eof () |
virtual int | fail () |
virtual int | get () |
virtual RWvistream & | get (char &c) |
virtual RWvistream & | get (signed char &c) |
virtual RWvistream & | get (unsigned char &c) |
virtual RWvistream & | get (wchar_t &wc) |
virtual RWvistream & | get (bool &b) |
virtual RWvistream & | get (short &i) |
virtual RWvistream & | get (unsigned short &i) |
virtual RWvistream & | get (int &i) |
virtual RWvistream & | get (unsigned int &i) |
virtual RWvistream & | get (long &i) |
virtual RWvistream & | get (unsigned long &i) |
virtual RWvistream & | get (long long &i) |
virtual RWvistream & | get (unsigned long long &i) |
virtual RWvistream & | get (float &f) |
virtual RWvistream & | get (double &d) |
virtual RWvistream & | get (long double &) |
virtual RWvistream & | get (char *v, size_t n) |
virtual RWvistream & | get (signed char *v, size_t n) |
virtual RWvistream & | get (unsigned char *v, size_t n) |
virtual RWvistream & | get (wchar_t *, size_t n) |
virtual RWvistream & | get (bool *, size_t n) |
virtual RWvistream & | get (float *v, size_t n) |
virtual RWvistream & | get (double *v, size_t n) |
virtual RWvistream & | get (long double *, size_t) |
virtual RWvistream & | get (short *v, size_t n) |
virtual RWvistream & | get (unsigned short *v, size_t n) |
virtual RWvistream & | get (int *v, size_t n) |
virtual RWvistream & | get (unsigned int *v, size_t n) |
virtual RWvistream & | get (long *v, size_t n) |
virtual RWvistream & | get (unsigned long *v, size_t n) |
virtual RWvistream & | get (long long *v, size_t n) |
virtual RWvistream & | get (unsigned long long *v, size_t n) |
virtual RWvistream & | getChar (char &c) |
virtual RWvistream & | getChar (signed char &c) |
virtual RWvistream & | getChar (unsigned char &c) |
virtual RWvistream & | getChar (wchar_t &wc) |
virtual RWvistream & | getChars (char *s, size_t n) |
virtual RWvistream & | getSizeT (size_t &sz) |
virtual RWvistream & | getString (char *s, size_t n) |
virtual int | good () |
virtual int | rdstate () |
Public Member Functions inherited from RWvistream | |
virtual | ~RWvistream () |
void | version (unsigned v) |
unsigned | version () const |
Public Member Functions inherited from RWvios | |
operator void * () | |
Additional Inherited Members | |
Related Functions inherited from RWvistream | |
RWvistream & | operator>> (RWvistream &is, char &c) |
RWvistream & | operator>> (RWvistream &is, signed char &c) |
RWvistream & | operator>> (RWvistream &is, unsigned char &c) |
RWvistream & | operator>> (RWvistream &is, wchar_t &wc) |
RWvistream & | operator>> (RWvistream &is, bool &b) |
RWvistream & | operator>> (RWvistream &is, short &i) |
RWvistream & | operator>> (RWvistream &is, unsigned short &i) |
RWvistream & | operator>> (RWvistream &is, int &i) |
RWvistream & | operator>> (RWvistream &is, unsigned int &i) |
RWvistream & | operator>> (RWvistream &is, long &i) |
RWvistream & | operator>> (RWvistream &is, unsigned long &i) |
RWvistream & | operator>> (RWvistream &is, long long &i) |
RWvistream & | operator>> (RWvistream &is, unsigned long long &i) |
RWvistream & | operator>> (RWvistream &is, float &f) |
RWvistream & | operator>> (RWvistream &is, double &d) |
RWvistream & | operator>> (RWvistream &is, long double &d) |
Class RWXDRistream is a portable input stream based on XDR routines. Class RWXDRistream encapsulates a portion of the XDR library routines that are used for external data representation. XDR routines allow programmers to describe arbitrary data structures in a machine-independent fashion. Data for remote procedure calls (RPC) are transmitted using XDR routines.
Class RWXDRistream enables decoding an XDR structure to a machine representation, providing the ability to decode all the standard data types and vectors of those data types.
An XDR stream must first be created by calling the appropriate creation routine. XDR streams currently exist for encoding/decoding of data to or from standard iostreams and file streams, TCP/IP connections and Unix files, and memory. These creation routines take arguments that are tailored to the specific properties of the stream. After the XDR stream has been created, it can then be used as the argument to the constructor for a RWXDRistream object.
RWXDRistream can be interrogated as to the status of the stream using member functions bad(), clear(), eof(), fail(), good(), and rdstate().
RWXDRistream::RWXDRistream | ( | XDR * | xp | ) |
Initializes an RWXDRistream from the XDR structure xp.
RWXDRistream::RWXDRistream | ( | std::streambuf * | sb | ) |
Initializes an RWXDRistream from the std::streambuf sb. sb must already be allocated.
RWXDRistream::RWXDRistream | ( | std::istream & | str | ) |
Initializes an RWXDRistream from the std::streambuf associated with the std::istream str.
|
virtual |
Deallocates previously allocated resources.
|
inlinevirtual |
Returns a nonzero integer if the bad bit has been set. Normally this indicates that a severe error has occurred from which recovery is probably impossible.
Implements RWvistream.
|
inlinevirtual |
Sets the current error state to v. If v is zero, then this clears the error state.
Implements RWvistream.
|
inlinevirtual |
Returns a nonzero integer if an EOF
is encountered.
Implements RWvistream.
|
inlinevirtual |
Returns a nonzero integer if the failed or bad bit has been set. Normally, this indicates that some storage or retrieval has failed, but that the stream is still in a usable state.
Implements RWvistream.
|
virtual |
Gets and returns the next byte from the input stream, returning its value. Returns EOF
if end of file is encountered.
Implements RWvistream.
|
virtual |
Gets the next char
from the input stream, returning its value in c.
Implements RWvistream.
|
virtual |
Gets the next signed char
from the input stream, returning its value in c.
Implements RWvistream.
|
virtual |
Gets the next unsigned char
from the input stream, returning its value in c.
Implements RWvistream.
|
virtual |
Gets the next wchar_t
from the input stream, returning its value in wc.
Implements RWvistream.
|
virtual |
Gets the next bool
from the input stream, returning its value in b.
Implements RWvistream.
|
virtual |
Gets the next short
from the input stream, returning its value in i.
Implements RWvistream.
|
virtual |
Gets the next unsigned short
from the input stream, returning its value in i.
Implements RWvistream.
|
virtual |
Gets the next int
from the input stream, returning its value in i.
Implements RWvistream.
|
virtual |
Gets the next unsigned int
from the input stream, returning its value in i.
Implements RWvistream.
|
virtual |
Gets the next long
from the input stream, returning its value in i.
Implements RWvistream.
|
virtual |
Gets the next unsigned long
from the input stream, returning its value in i.
Implements RWvistream.
|
virtual |
Gets the next long long
from the input stream and stores it in i.
RWInternalErr | Thrown if the necessary support for reading a long long from an XDR is not available. |
long long
type. Implements RWvistream.
|
virtual |
Gets the next unsigned long long
from the input stream and stores it in i.
RWInternalErr | Thrown if the necessary support for reading an unsigned long long from an XDR is not available. |
unsigned long long
type. Implements RWvistream.
|
virtual |
Gets the next float
from the input stream, returning its value in f.
Implements RWvistream.
|
virtual |
Gets the next double
from the input stream, returning its value in d.
Implements RWvistream.
|
inlinevirtual |
RWInternalErr | This function is not supported with XDR streams. |
long double
type. Implements RWvistream.
|
virtual |
Gets a vector of n char
and stores them in the array beginning at v. If the restore operation stops prematurely because there is no more data available on the stream, because an exception is thrown, or for some other reason, stores what has already been retrieved from the stream into v, and sets the failbit.
'\n'
. Implements RWvistream.
|
virtual |
Gets a vector of n signed char
and stores them in the array beginning at v. If the restore operation stops prematurely because there is no more data available on the stream, because an exception is thrown, or for some other reason, stores what has already been retrieved from the stream into v, and sets the failbit.
Implements RWvistream.
|
virtual |
Gets a vector of n unsigned char
and stores them in the array beginning at v. If the restore operation stops prematurely because there is no more data available on the stream, because an exception is thrown, or for some other reason, stores what has already been retrieved from the stream into v, and sets the failbit.
Implements RWvistream.
|
virtual |
Gets a vector of n wchar_t
and stores them in the array beginning at v. If the restore operation stops prematurely because there is no more data available on the stream, because an exception is thrown, or for some other reason, stores what has already been retrieved from the stream into v, and sets the failbit.
L'\n'
. Implements RWvistream.
|
virtual |
Gets a vector of n bool
and stores them in the array beginning at v. If the restore operation stops prematurely because there is no more data available on the stream, because an exception is thrown, or for some other reason, stores what has already been retrieved from the stream into v, and sets the failbit.
Implements RWvistream.
|
virtual |
Gets a vector of n float
and stores them in the array beginning at v. If the restore operation stops prematurely because there is no more data available on the stream, because an exception is thrown, or for some other reason, stores what has already been retrieved from the stream into v, and sets the failbit.
Implements RWvistream.
|
virtual |
Gets a vector of n double
and stores them in the array beginning at v. If the restore operation stops prematurely because there is no more data available on the stream, because an exception is thrown, or for some other reason, stores what has already been retrieved from the stream into v, and sets the failbit.
Implements RWvistream.
|
inlinevirtual |
RWInternalErr | This function is not supported with XDR streams. |
long double
type. Implements RWvistream.
|
virtual |
Gets a vector of n short
and stores them in the array beginning at v. If the restore operation stops prematurely because there is no more data available on the stream, because an exception is thrown, or for some other reason, stores what has already been retrieved from the stream into v, and sets the failbit.
Implements RWvistream.
|
virtual |
Gets a vector of n unsigned short
and stores them in the array beginning at v. If the restore operation stops prematurely because there is no more data available on the stream, because an exception is thrown, or for some other reason, stores what has already been retrieved from the stream into v, and sets the failbit.
Implements RWvistream.
|
virtual |
Gets a vector of n int
and stores them in the array beginning at v. If the restore operation stops prematurely because there is no more data available on the stream, because an exception is thrown, or for some other reason, stores what has already been retrieved from the stream into v, and sets the failbit.
Implements RWvistream.
|
virtual |
Gets a vector of n unsigned int
and stores them in the array beginning at v. If the restore operation stops prematurely because there is no more data available on the stream, because an exception is thrown, or for some other reason, stores what has already been retrieved from the stream into v, and sets the failbit.
Implements RWvistream.
|
virtual |
Gets a vector of n long
and stores them in the array beginning at v. If the restore operation stops prematurely because there is no more data available on the stream, because an exception is thrown, or for some other reason, stores what has already been retrieved from the stream into v, and sets the failbit.
Implements RWvistream.
|
virtual |
Gets a vector of n unsigned long
and stores them in the array beginning at v. If the restore operation stops prematurely because there is no more data available on the stream, because an exception is thrown, or for some other reason, stores what has already been retrieved from the stream into v, and sets the failbit.
Implements RWvistream.
|
virtual |
Gets a vector of n long long
and stores them in the array beginning at v.
RWInternalErr | Thrown if the necessary support for reading a long long from an XDR is not available. |
long long
type. Implements RWvistream.
|
virtual |
Gets a vector of n unsigned long long
and stores them in the array beginning at v.
RWInternalErr | Thrown if the necessary support for reading an unsigned long long from an XDR is not available. |
unsigned long long
type. Implements RWvistream.
|
inlinevirtual |
Gets the next char
from the input stream, returning its value in c. c is treated as a character.
Implements RWvistream.
|
inlinevirtual |
Gets the next signed char
from the input stream, returning its value in c. c is treated as a character.
Implements RWvistream.
|
inlinevirtual |
Gets the next unsigned char
from the input stream, returning its value in c. c is treated as a character.
Implements RWvistream.
|
inlinevirtual |
Gets the next wchar_t
from the input stream, returning its value in wc. wc is treated as a character.
Implements RWvistream.
|
virtual |
Restores n char
from the input stream into the array beginning at s. The function stops reading after n char
. The resulting buffer is not null terminated. s is treated as a character string.
Reimplemented from RWvistream.
|
virtual |
Gets the next size_t
value from the input stream, returning its value in sz.
Implements RWvistream.
|
virtual |
Restores a character string from the input stream that has been stored to the output stream using RWvostream::putString(), then saves 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 have been read and the nth character is not the string terminator, then sets the failbit of the stream. In either case, the string is terminated with a null byte.
Implements RWvistream.
|
inlinevirtual |
Returns a nonzero integer if no error bits have been set.
Implements RWvistream.
|
inlinevirtual |
Returns the current error state.
Implements RWvistream.
Copyright © 2021 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |