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