rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

RWeostream Class Reference
[Virtual Streams]

Specializes the base class RWbostream to store values in a portable binary format. More...

#include <rw/estream.h>

Inheritance diagram for RWeostream:
RWbostream RWvostream RWvios

List of all members.

Public Types

enum  Endian { LittleEndian, BigEndian, HostEndian }

Public Member Functions

 RWeostream (std::ostream &str, Endian fmt=HostEndian)
 RWeostream (std::streambuf *s, Endian fmt=HostEndian)
virtual RWvostreamoperator<< (char c)
virtual RWvostreamput (char c)
virtual RWvostreamput (const char *v, size_t N)
virtual RWvostreamput (unsigned char c)
virtual RWvostreamput (const unsigned char *v, size_t N)
virtual RWvostreamoperator<< (unsigned char c)
virtual RWvostreamputSizeT (size_t sz)
virtual RWvostreamoperator<< (unsigned int i)
virtual RWvostreamoperator<< (int i)
virtual RWvostreamoperator<< (long i)
virtual RWvostreamoperator<< (unsigned long i)
virtual RWvostreamoperator<< (short i)
virtual RWvostreamoperator<< (unsigned short i)
virtual RWvostreamoperator<< (double d)
virtual RWvostreamoperator<< (float f)
virtual RWvostreamoperator<< (unsigned long long i)
virtual RWvostreamoperator<< (long long i)
virtual RWvostreamoperator<< (long double)
virtual RWvostreamoperator<< (wchar_t wc)
virtual RWvostreamput (wchar_t wc)
virtual RWvostreamoperator<< (const char *s)
virtual RWvostreamputString (const char *s, size_t N)
virtual RWvostreamput (const short *v, size_t N)
virtual RWvostreamput (const unsigned short *v, size_t N)
virtual RWvostreamput (const int *v, size_t N)
virtual RWvostreamput (const unsigned int *v, size_t N)
virtual RWvostreamput (const long *v, size_t N)
virtual RWvostreamput (const unsigned long *v, size_t N)
virtual RWvostreamput (const float *v, size_t N)
virtual RWvostreamput (const double *v, size_t N)
virtual RWvostreamput (const long long *v, size_t N)
virtual RWvostreamput (const unsigned long long *v, size_t N)
virtual RWvostreamput (const long double *, size_t)
virtual RWvostreamput (const wchar_t *v, size_t N)

Detailed Description

Class RWeostream specializes the base class RWbostream to store values in a portable binary format. The results can be restored via its counterpart, RWeistream.

See the entry for RWeistream for a general description of the endian stream classes.

Synopsis

 #include <rw/estream.h>
 // Construct an RWeostream that uses cout's streambuf,
 // and writes out values in little-endian format
 RWeostream estr(std::cout, RWeostream::LittleEndian);

Persistence

None.

Examples

 #include <iostream>
 #include <fstream>

 #include <rw/estream.h>

 int main()
 {
     // Open an output file
     std::ofstream fstr ("data.dat");

     // Construct an RWeostream from it
     RWeostream estr (fstr);

     int i = 5;
     float f = 22.1f;
     double d = -0.05;

     std::cout << "An integer, a float and a double sent out on a RWeostream!\n";

     // Store a float & double
     estr << i << f << d;

     return 0;
 }

Member Enumeration Documentation

Specifies the format to use to represent numeric values in the stream.

Enumerator:
LittleEndian 

Use little-endian format.

BigEndian 

Use big-endian format.

HostEndian 

Use native format of the current environment.


Constructor & Destructor Documentation

RWeostream::RWeostream ( std::ostream &  str,
Endian  fmt = HostEndian 
)

Constructs an RWeostream from the std::streambuf associated with the std::ostream str. Values placed into the stream have an endian format given by fmt. For DOS, the str must have been opened in binary mode.

Exceptions:
RWStreamErr if the underlying std::streambuf is not empty.
RWeostream::RWeostream ( std::streambuf *  s,
Endian  fmt = HostEndian 
)

Constructs an RWeostream from the std::streambuf s. Values placed into the stream have an endian format given by fmt. For DOS, the std::streambuf s must have been created in binary mode.

Exceptions:
RWStreamErr if the std::streambuf s is not empty.

Member Function Documentation

virtual RWvostream& RWeostream::operator<< ( const char *  s  )  [virtual]

Stores the null-terminated character string starting at s to the output stream.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( wchar_t  wc  )  [virtual]

Stores the wchar_t wc to the output stream in binary, using the appropriate endian representation.

Note:
wc is treated as a character, not a number.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( long double   )  [inline, virtual]
Exceptions:
RWInternalErr is thrown. This function is not supported with endian streams.
Note:
This operator function is only available if your compiler supports the long double type.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( long long  i  )  [virtual]

Stores the long long i to the output stream in binary, using the appropriate endian representation.

Note:
This operator is only available if your compiler supports the long long type.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( unsigned long long  i  )  [virtual]

Stores the unsigned long long i to the output stream in binary, using the appropriate endian representation.

Note:
This operator is only available if your compiler supports the unsigned long long type.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( float  f  )  [virtual]

Stores the float f to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( double  d  )  [virtual]

Stores the double d to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( unsigned short  i  )  [virtual]

Stores the unsigned short i to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( short  i  )  [virtual]

Stores the short i to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( unsigned long  i  )  [virtual]

Stores the unsigned long i to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( long  i  )  [virtual]

Stores the long i to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( int  i  )  [virtual]

Stores the int i to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( unsigned int  i  )  [virtual]

Stores the unsigned int i to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( unsigned char  c  )  [inline, virtual]

Stores the unsigned char c to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::operator<< ( char  c  )  [inline, virtual]

Stores the char c to the output stream.

Note:
c is treated as a character, not a number.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const wchar_t *  v,
size_t  N 
) [virtual]

Stores the vector of N wchar_t starting at v to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const long double *  ,
size_t   
) [inline, virtual]
Exceptions:
RWInternalErr is thrown. This function is not supported with endian streams.
Note:
This operator function is only available if your compiler supports the long double type.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const unsigned long long *  v,
size_t  N 
) [virtual]

Stores the vector of N unsigned long long starting at v to the output stream in binary, using the appropriate endian representation.

Note:
This operator function is only available if your compiler supports the unsigned long long type.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const long long *  v,
size_t  N 
) [virtual]

Stores the vector of N long long starting at v to the output stream in binary, using the appropriate endian representation.

Note:
This operator function is only available if your compiler supports the long long type.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const double *  v,
size_t  N 
) [virtual]

Stores the vector of N double starting at v to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const float *  v,
size_t  N 
) [virtual]

Stores the vector of N float starting at v to the output stream.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const unsigned long *  v,
size_t  N 
) [virtual]

Stores the vector of N unsigned long starting at v to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const long *  v,
size_t  N 
) [virtual]

Stores the vector of N long starting at v to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const unsigned int *  v,
size_t  N 
) [virtual]

Stores the vector of N unsigned int starting at v to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const int *  v,
size_t  N 
) [virtual]

Stores the vector of N int starting at v to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const unsigned short *  v,
size_t  N 
) [virtual]

Stores the vector of N unsigned short starting at v to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const short *  v,
size_t  N 
) [virtual]

Stores the vector of N short starting at v to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( wchar_t  wc  )  [inline, virtual]

Stores the wchar_t wc to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const unsigned char *  v,
size_t  N 
) [inline, virtual]

Stores the vector of N unsigned char starting at v to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( unsigned char  c  )  [inline, virtual]

Stores the char c to the output stream.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( const char *  v,
size_t  N 
) [inline, virtual]

Stores the vector of N char starting at v to the output stream in binary.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::put ( char  c  )  [inline, virtual]

Stores the char c to the output stream.

Note:
c is treated as a character, not a number.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::putSizeT ( size_t  sz  )  [virtual]

Stores the size_t sz to the output stream in binary, using the appropriate endian representation.

Reimplemented from RWbostream.

virtual RWvostream& RWeostream::putString ( const char *  s,
size_t  N 
) [virtual]

Stores the character string, including embedded nulls, starting at s to the output stream.

Reimplemented from RWbostream.

 All Classes Functions Variables Typedefs Enumerations Enumerator Friends

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.