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