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

Generated on Fri Sep 16 18:01:52 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5