Rogue Wave banner
Previous fileTop of documentContentsIndexNext file

RWvistream


RWvistream-->RWvios

Data Type and Member Function Indexes
(exclusive of constructors and destructors)

Synopsis

#include <rw/vstream.h>

Description

Class RWvistream is an abstract base class. It provides an interface for format-independent retrieval of fundamental types and arrays of fundamental types. Its counterpart, RWvostream, provides a complementary interface for the storage of the fundamental types.

Because the interface of RWvistream and RWvostream is independent of formatting, the user of these classes need not be concerned with how variables will actually be stored or restored. That will be up to the derived class to decide. It might be done using an operating-system independent ASCII format (classes RWpistream and RWpostream), a binary format (classes RWbistream and RWbostream), or the user could define his or her own format (e.g., an interface to a network). Note that because it is an abstract base class, there is no way to actually enforce these goals -- the description here is merely the model of how a class derived from RWvistream and RWvostream should act.

See class RWvostream for additional explanations and examples of format-independent stream storage.

Persistence

None

Example

#include <rw/vstream.h>
void restoreStuff( RWvistream& str) {
   int i;
   double d;
   char string[80];
   str >> i;  // Restore an int
   str >> d;  // Restore a double
   // Restore a character string, up to 80 characters long:
   str.getString(string, sizeof(string));

   if(str.fail()) cerr << "Oh, oh, bad news.\n";
}

Public Destructor

virtual ~RWvistream();

Public Operators

virtual RWvistream&
operator>>(char& c) = 0; 
virtual RWvistream&
operator>>(wchar_t& wc) = 0;
virtual RWvistream&
operator>>(double& d) = 0;
virtual RWvistream&
operator>>(float& f) = 0;
virtual RWvistream&
operator>>(int& i) = 0;
virtual RWvistream&
operator>>(long& l) = 0;
virtual RWvistream&
operator>>(short& s) = 0;
virtual RWvistream&
operator>>(unsigned char& c) = 0;
virtual RWvistream&
operator>>(unsigned short& s) = 0;
virtual RWvistream&
operator>>(unsigned int& i) = 0;
virtual RWvistream&
operator>>(unsigned long& l) = 0;
operator void*();

Public Member Functions

virtual int
get() = 0; 
virtual RWvistream&
get(char& c) = 0;
virtual RWvistream&
get(wchar_t& wc) = 0;
virtual RWvistream&
get(unsigned char& c) = 0;
virtual RWvistream&
get(char* v, size_t N) = 0;
virtual RWvistream&
get(wchar_t* v, size_t N) = 0;
virtual RWvistream&
get(double* v, size_t N) = 0;
virtual RWvistream&
get(float* v, size_t N) = 0; 
virtual RWvistream&
get(int* v, size_t N) = 0;
virtual RWvistream&
get(long* v, size_t N) = 0;
virtual RWvistream&
get(short* v, size_t N) = 0;
virtual RWvistream&
get(unsigned char* v, size_t N) = 0;
virtual RWvistream&
get(unsigned short* v, size_t N) = 0;
virtual RWvistream&
get(unsigned int* v, size_t N) = 0;
virtual RWvistream&
get(unsigned long* v, size_t N) = 0;
virtual RWvistream&
getString(char* s, size_t N) = 0; 
virtual RWvistream&
getString(wchar_t* ws, size_t N) = 0;

Related Global Operator

RWvistream&
operator>>(RWvistream&, RWCString& str);
RWvistream&
operator>>(RWvistream&, RWInteger& x);
RWvistream&
operator>>(RWvistream&, RWTime& t);
RWvistream&
operator>>(RWvistream& strm, RWTPtrDeque<T>& coll); 
RWvistream&
operator>>(RWvistream& strm, RWTPtrDlist<T>& coll); 
RWvistream&
operator>>(RWvistream& strm, RWTPtrHashMap<K,T,H,EQ>& coll); 
RWvistream&
operator>>(RWvistream& strm, 
              RWTPtrHashMultiMap<K,T,H,EQ>& coll);
RWvistream&
operator>>(RWvistream& strm, 
              RWTPtrHashMultiSet<T,H,EQ>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTPtrHashSet<T,H,EQ>& coll); 
RWvistream&
operator>>(RWvistream& strm, RWTPtrMap<K,T,C>& coll); 
RWvistream&
operator>>(RWvistream& strm, RWTPtrMultiMap<K,T,C>& coll); RWvistream&
operator>>(RWvistream& strm, RWTPtrMultiSet<T,C>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTPtrOrderedVector<T>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTPtrSet<T,C>& coll); 
RWvistream&
operator>>(RWvistream& strm, RWTPtrSlist<T>& coll); 
RWvistream&
operator>>(RWvistream& strm, RWTPtrSortedDlist<T,C>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTPtrSortedVector<T,C>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTValDeque<T>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTValDlist<T>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTValHashMap<T,H,EQ>& coll);
RWvistream&
operator>>(RWvistream& strm, 
                  RWTValHashMultiMap<K,T,H,EQ>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTValHashMultiSet<T,H,EQ>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTValHashSet<T,H,EQ>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTValMap<K,T,C>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTValMultiMap<T,C>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTValMultiSet<K,T,C>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTValOrderedVector<T>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTValSet<T,C>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTValSlist<T>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTValSortedDlist<T,C>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTValSortedVector<T,C>& coll);
RWvistream&
operator>>(RWvistream& strm, RWTPtrDeque<T>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTPtrDlist<T>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTPtrHashMap<K,T,H,EQ>*& p);
RWvistream&
operator>>(RWvistream& strm, 
        RWTPtrHashMultiMap<K,T,H,EQ>*& p);
RWvistream&
operator>>(RWvistream& strm, 
        RWTPtrHashMultiSet<T,H,EQ>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTPtrHashSet<T,H,EQ>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTPtrMap<K,T,C>*& p); 
RWvistream&
operator>>(RWvistream& strm, RWTPtrMultiMap<K,T,C>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTPtrMultiSet<T,C>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTPtrOrderedVector<T>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTPtrSet<T,C>*& p); 
RWvistream&
operator>>(RWvistream& strm, RWTPtrSlist<T>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTPtrSortedDlist<T,C>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTPtrSortedVector<T,C>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTValDeque<T>*& p); 
RWvistream&
operator>>(RWvistream& strm, RWTValDlist<T>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTValHashMap<T,H,EQ>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTHashMultiMap<K,T,H,EQ>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTValHashMultiSet<T,H,EQ>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTValHashSet<T,H,EQ>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTValMap<K,T,C>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTValMultiMap<K,T,C>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTValMultiSet<T,C>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTValOrderedVector<T>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTValSet<T,C>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTValSlist<T>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTValSortedDlist<T,C>*& p);
RWvistream&
operator>>(RWvistream& strm, RWTValSortedVector<T,C>*& p); 


Previous fileTop of documentContentsIndexNext file
©Copyright 1999, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.