IStream
#ifndef IStream_H
#define IStream_H
#include <string>
namespace StreamLib
{
using std::string;
interface IStream
{
virtual IStream & operator << (const char ch) = 0;
virtual IStream & operator << (const signed char ch) = 0;
virtual IStream & operator << (const unsigned char ch) = 0;
virtual IStream & operator << (const short sh) = 0;
virtual IStream & operator << (const unsigned short sh) = 0;
virtual IStream & operator << (const int i) = 0;
virtual IStream & operator << (const unsigned int i) = 0;
virtual IStream & operator << (const long l) = 0;
virtual IStream & operator << (const unsigned long l) = 0;
virtual IStream & operator << (const float f) = 0;
virtual IStream & operator << (const double d) = 0;
virtual IStream & operator << (const long double ld) = 0;
virtual IStream & operator << (const char *pcstr) = 0;
virtual IStream & operator << (const string &str) = 0;
virtual IStream & operator >> (char &ch) = 0;
virtual IStream & operator >> (signed char &ch) = 0;
virtual IStream & operator >> (unsigned char &ch) = 0;
virtual IStream & operator >> (short &sh) = 0;
virtual IStream & operator >> (unsigned short &sh) = 0;
virtual IStream & operator >> (int &i) = 0;
virtual IStream & operator >> (unsigned int &i) = 0;
virtual IStream & operator >> (long &l) = 0;
virtual IStream & operator >> (unsigned long &l) = 0;
virtual IStream & operator >> (float &f) = 0;
virtual IStream & operator >> (double &d) = 0;
virtual IStream & operator >> (long double &ld) = 0;
virtual IStream & operator >> (char * const pcstr) = 0;
virtual IStream & operator >> (string &str) = 0;
};
}
#endif