00001 #ifndef SCT_IS_ISTREAMIS_H
00002 #define SCT_IS_ISTREAMIS_H
00003
00004 #include <is/info.h>
00005 #include "../IStream.h"
00006
00007 namespace Sct {
00008 namespace IS {
00010 class IStreamIS : public virtual IStream {
00011 public:
00012 IStreamIS(ISistream& in) : in(in) {}
00013
00036 virtual IStream & operator>>(bool& val) {
00037 in >> val;
00038 return *this;
00039 }
00040
00041 virtual IStream & operator>>(char& val) {
00042 in >> val;
00043 return *this;
00044 }
00045
00046 virtual IStream & operator>>(unsigned char& val) {
00047 in >> val;
00048 return *this;
00049 }
00050
00051 virtual IStream & operator>>(short& val){
00052 in >> val;
00053 return *this;
00054 }
00055
00056 virtual IStream & operator>>(unsigned short& val) {
00057 in >> val;
00058 return *this;
00059 }
00060
00061 virtual IStream & operator>>(int& val) {
00062 in >> val;
00063 return *this;
00064 }
00065
00066 virtual IStream & operator>>(unsigned int& val) {
00067 in >> val;
00068 return *this;
00069 }
00070
00071 virtual IStream & operator>>(long& val) {
00072 in >> val;
00073 return *this;
00074 }
00075
00076 virtual IStream & operator>>(unsigned long& val) {
00077 in >> val;
00078 return *this;
00079 }
00080
00081 virtual IStream & operator>>(float& val) {
00082 in >> val;
00083 return *this;
00084 }
00085
00086 virtual IStream & operator>>(double& val) {
00087 in >> val;
00088 return *this;
00089 }
00090
00091 virtual IStream & operator>>(std::string& val) {
00092 in >> val;
00093 return *this;
00094 }
00095
00096 virtual IStream & operator>>(OWLDate& val) {
00097 in >> val;
00098 return *this;
00099 }
00100
00101 virtual IStream & operator>>(OWLTime& val) {
00102 in >> val;
00103 return *this;
00104 }
00105
00106 virtual IStream & get( bool ** p, size_t & size ) {
00107 in.get(p, size);
00108 return *this;
00109 }
00110
00111 virtual IStream & get( char ** p, size_t & size ) {
00112 in.get(p, size);
00113 return *this;
00114 }
00115
00116 virtual IStream & get( unsigned char ** p, size_t & size ) {
00117 in.get(p, size);
00118 return *this;
00119 }
00120
00121 virtual IStream & get( short ** p, size_t & size ) {
00122 in.get(p, size);
00123 return *this;
00124 }
00125
00126 virtual IStream & get( unsigned short ** p, size_t & size ) {
00127 in.get(p, size);
00128 return *this;
00129 }
00130
00131 virtual IStream & get( int ** p, size_t & size ) {
00132 in.get(p, size);
00133 return *this;
00134 }
00135
00136 virtual IStream & get( unsigned int ** p, size_t & size ) {
00137 in.get(p, size);
00138 return *this;
00139 }
00140
00141 virtual IStream & get( long ** p, size_t & size ) {
00142 in.get(p, size);
00143 return *this;
00144 }
00145
00146 virtual IStream & get( unsigned long ** p, size_t & size ) {
00147 in.get(p, size);
00148 return *this;
00149 }
00150
00151 virtual IStream & get( float ** p, size_t & size ) {
00152 in.get(p, size);
00153 return *this;
00154 }
00155
00156 virtual IStream & get( double ** p, size_t & size ) {
00157 in.get(p, size);
00158 return *this;
00159 }
00160
00161 virtual IStream & get( std::string ** p, size_t & size ) {
00162 in.get(p, size);
00163 return *this;
00164 }
00165
00166 virtual IStream & get( OWLDate ** p, size_t & size ) {
00167 in.get(p, size);
00168 return *this;
00169 }
00170
00171 virtual IStream & get( OWLTime ** p, size_t & size ) {
00172 in.get(p, size);
00173 return *this;
00174 }
00175
00176
00177 virtual IStream & get( bool * p, size_t size ) {
00178 in.get(p, size);
00179 return *this;
00180 }
00181
00182 virtual IStream & get( char * p, size_t size ) {
00183 in.get(p, size);
00184 return *this;
00185 }
00186
00187 virtual IStream & get( unsigned char * p, size_t size ) {
00188 in.get(p, size);
00189 return *this;
00190 }
00191
00192 virtual IStream & get( short * p, size_t size ) {
00193 in.get(p, size);
00194 return *this;
00195 }
00196
00197 virtual IStream & get( unsigned short * p, size_t size ) {
00198 in.get(p, size);
00199 return *this;
00200 }
00201
00202 virtual IStream & get( int * p, size_t size ) {
00203 in.get(p, size);
00204 return *this;
00205 }
00206
00207 virtual IStream & get( unsigned int * p, size_t size ) {
00208 in.get(p, size);
00209 return *this;
00210 }
00211
00212 virtual IStream & get( long * p, size_t size ) {
00213 in.get(p, size);
00214 return *this;
00215 }
00216
00217 virtual IStream & get( unsigned long * p, size_t size ) {
00218 in.get(p, size);
00219 return *this;
00220 }
00221
00222 virtual IStream & get( float * p, size_t size ) {
00223 in.get(p, size);
00224 return *this;
00225 }
00226
00227 virtual IStream & get( double * p, size_t size ) {
00228 in.get(p, size);
00229 return *this;
00230 }
00231
00232 virtual IStream & get( std::string * p, size_t size ) {
00233 in.get(p, size);
00234 return *this;
00235 }
00236
00237 virtual IStream & get( OWLDate * p, size_t size ) {
00238 in.get(p, size);
00239 return *this;
00240 }
00241
00242 virtual IStream & get( OWLTime * p, size_t size ) {
00243 in.get(p, size);
00244 return *this;
00245 }
00246
00247
00248 private:
00249 ISistream& in;
00250 };
00251
00252 }
00253 }
00254 #endif //SCT_IS_ISTREAMIS_H