00001 #ifndef SCT_IS_OSTREAMIS_H
00002 #define SCT_IS_OSTREAMIS_H
00003
00004 #include <is/info.h>
00005 #include "../OStream.h"
00006
00007 namespace Sct {
00008 namespace IS {
00009
00010
00011 class OStreamIS : public virtual OStream {
00012 public:
00013 OStreamIS(ISostream& out) : out(out) {}
00014
00015 virtual OStream & operator<<(bool val) {
00016 out << val;
00017 return *this;
00018 }
00019
00020 virtual OStream & operator<<(char val) {
00021 out << val;
00022 return *this;
00023 }
00024
00025 virtual OStream & operator<<(unsigned char val) {
00026 out << val;
00027 return *this;
00028 }
00029
00030 virtual OStream & operator<<(short val) {
00031 out << val;
00032 return *this;
00033 }
00034
00035 virtual OStream & operator<<(unsigned short val) {
00036 out << val;
00037 return *this;
00038 }
00039
00040 virtual OStream & operator<<(int val) {
00041 out << val;
00042 return *this;
00043 }
00044
00045 virtual OStream & operator<<(unsigned int val) {
00046 out << val;
00047 return *this;
00048 }
00049
00050 virtual OStream & operator<<(long val) {
00051 out << val;
00052 return *this;
00053 }
00054
00055 virtual OStream & operator<<(unsigned long val) {
00056 out << val;
00057 return *this;
00058 }
00059
00060 virtual OStream & operator<<(double val) {
00061 out << val;
00062 return *this;
00063 }
00064
00065 virtual OStream & operator<<(float val) {
00066 out << val;
00067 return *this;
00068 }
00069
00070 virtual OStream & operator<<(const std::string & val) {
00071 out << val;
00072 return *this;
00073 }
00074
00075 virtual OStream & operator<<(OWLDate & val) {
00076 out << val;
00077 return *this;
00078 }
00079
00080 virtual OStream & operator<<(OWLTime & val) {
00081 out << val;
00082 return *this;
00083 }
00084
00085
00086 virtual OStream & operator<<(const char * str) {
00087 out << str;
00088 return *this;
00089 }
00090
00091 virtual OStream & operator<<(const unsigned char * str) {
00092 out << str;
00093 return *this;
00094 }
00095
00096
00097 virtual OStream & put(const bool* p, size_t size) {
00098 out.put(p, size);
00099 return *this;
00100 }
00101
00102 virtual OStream & put(const char* p, size_t size){
00103 out.put(p, size);
00104 return *this;
00105 }
00106
00107 virtual OStream & put(const unsigned char* p, size_t size) {
00108 out.put(p, size);
00109 return *this;
00110 }
00111
00112 virtual OStream & put(const short* p, size_t size) {
00113 out.put(p, size);
00114 return *this;
00115 }
00116
00117 virtual OStream & put(const unsigned short* p, size_t size) {
00118 out.put(p, size);
00119 return *this;
00120 }
00121
00122 virtual OStream & put(const int* p, size_t size) {
00123 out.put(p, size);
00124 return *this;
00125 }
00126
00127 virtual OStream & put(const unsigned int* p, size_t size) {
00128 out.put(p, size);
00129 return *this;
00130 }
00131
00132 virtual OStream & put(const long* p, size_t size) {
00133 out.put(p, size);
00134 return *this;
00135 }
00136
00137 virtual OStream & put(const unsigned long* p, size_t size) {
00138 out.put(p, size);
00139 return *this;
00140 }
00141
00142 virtual OStream & put(const float* p, size_t size) {
00143 out.put(p, size);
00144 return *this;
00145 }
00146
00147 virtual OStream & put(const double* p, size_t size) {
00148 out.put(p, size);
00149 return *this;
00150 }
00151
00152 virtual OStream & put(const std::string* p, size_t size) {
00153 out.put(p, size);
00154 return *this;
00155 }
00156
00157 virtual OStream & put(const OWLDate* p, size_t size) {
00158 out.put(p, size);
00159 return *this;
00160 }
00161
00162 virtual OStream & put(const OWLTime* p, size_t size) {
00163 out.put(p, size);
00164 return *this;
00165 }
00166
00167
00168 private:
00169 ISostream& out;
00170 };
00171 }
00172 }
00173 #endif //SCT_IS_OSTREAMIS_H