Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

ISIStreamWrapper.h

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

Generated on Thu Jul 15 09:50:47 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5