00001 #ifndef SCT_ISTREAM_H
00002 #define SCT_ISTREAM_H
00003
00004 namespace Sct {
00005
00019 class IStream {
00020 public:
00021
00022
00025
00028
00029 virtual IStream & operator>>(bool& val) = 0;
00030 virtual IStream & operator>>(char& val) = 0;
00031 virtual IStream & operator>>(unsigned char& val) = 0;
00032 virtual IStream & operator>>(short& val) = 0;
00033 virtual IStream & operator>>(unsigned short& val) = 0;
00034 virtual IStream & operator>>(int& val) = 0;
00035 virtual IStream & operator>>(unsigned int& val) = 0;
00036 virtual IStream & operator>>(long& val) = 0;
00037 virtual IStream & operator>>(unsigned long& val) = 0;
00038 virtual IStream & operator>>(float& val) = 0;
00039 virtual IStream & operator>>(double& val) = 0;
00040 virtual IStream & operator>>(std::string& val) = 0;
00041
00042
00043
00044 virtual IStream & get( bool ** p, size_t & size ) = 0;
00045 virtual IStream & get( char ** p, size_t & size ) = 0;
00046 virtual IStream & get( unsigned char ** p, size_t & size ) = 0;
00047 virtual IStream & get( short ** p, size_t & size ) = 0;
00048 virtual IStream & get( unsigned short ** p, size_t & size ) = 0;
00049 virtual IStream & get( int ** p, size_t & size ) = 0;
00050 virtual IStream & get( unsigned int ** p, size_t & size ) = 0;
00051 virtual IStream & get( long ** p, size_t & size ) = 0;
00052 virtual IStream & get( unsigned long ** p, size_t & size ) = 0;
00053 virtual IStream & get( float ** p, size_t & size ) = 0;
00054 virtual IStream & get( double ** p, size_t & size ) = 0;
00055 virtual IStream & get( std::string ** p, size_t & size ) = 0;
00056
00057
00058
00059 virtual IStream & get( bool * const p, const size_t size ) = 0;
00060 virtual IStream & get( char * const p, const size_t size ) = 0;
00061 virtual IStream & get( unsigned char * const p, const size_t size ) = 0;
00062 virtual IStream & get( short * const p, const size_t size ) = 0;
00063 virtual IStream & get( unsigned short * const p, const size_t size ) = 0;
00064 virtual IStream & get( int * const p, const size_t size ) = 0;
00065 virtual IStream & get( unsigned int * const p, const size_t size ) = 0;
00066 virtual IStream & get( long * const p, const size_t size ) = 0;
00067 virtual IStream & get( unsigned long * const p, const size_t size ) = 0;
00068 virtual IStream & get( float * const p, const size_t size ) = 0;
00069 virtual IStream & get( double * const p, const size_t size ) = 0;
00070 virtual IStream & get( std::string * const p, const size_t size ) = 0;
00071
00072
00073 };
00074
00075 }
00076
00077 #endif //SCT_ISTREAM_H