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