00001 #ifndef SCT_ISTREAM_H
00002 #define SCT_ISTREAM_H
00003
00004 namespace Sct {
00005
00006 class IStream {
00007 public:
00008
00009 virtual IStream & operator>>(char *str) = 0;
00010 virtual IStream & operator>>(unsigned char *str) = 0;
00011
00012 virtual IStream & operator>>(char **str) = 0;
00013 virtual IStream & operator>>(unsigned char **str) = 0;
00014
00015 virtual IStream & operator>>(bool& val) = 0;
00016 virtual IStream & operator>>(char& val) = 0;
00017 virtual IStream & operator>>(unsigned char& val) = 0;
00018 virtual IStream & operator>>(short& val) = 0;
00019 virtual IStream & operator>>(unsigned short& val) = 0;
00020 virtual IStream & operator>>(int& val) = 0;
00021 virtual IStream & operator>>(unsigned int& val) = 0;
00022 virtual IStream & operator>>(long& val) = 0;
00023 virtual IStream & operator>>(unsigned long& val) = 0;
00024 virtual IStream & operator>>(float& val) = 0;
00025 virtual IStream & operator>>(double& val) = 0;
00026 virtual IStream & operator>>(std::string& val) = 0;
00027
00028
00029
00030
00031 virtual IStream & get( bool ** p, size_t & size ) = 0;
00032 virtual IStream & get( char ** p, size_t & size ) = 0;
00033 virtual IStream & get( unsigned char ** p, size_t & size ) = 0;
00034 virtual IStream & get( short ** p, size_t & size ) = 0;
00035 virtual IStream & get( unsigned short ** p, size_t & size ) = 0;
00036 virtual IStream & get( int ** p, size_t & size ) = 0;
00037 virtual IStream & get( unsigned int ** p, size_t & size ) = 0;
00038 virtual IStream & get( long ** p, size_t & size ) = 0;
00039 virtual IStream & get( unsigned long ** p, size_t & size ) = 0;
00040 virtual IStream & get( float ** p, size_t & size ) = 0;
00041 virtual IStream & get( double ** p, size_t & size ) = 0;
00042 virtual IStream & get( std::string ** p, size_t & size ) = 0;
00043
00044
00045
00046 virtual IStream & get( bool * const p, const size_t size ) = 0;
00047 virtual IStream & get( char * const p, const size_t size ) = 0;
00048 virtual IStream & get( unsigned char * const p, const size_t size ) = 0;
00049 virtual IStream & get( short * const p, const size_t size ) = 0;
00050 virtual IStream & get( unsigned short * const p, const size_t size ) = 0;
00051 virtual IStream & get( int * const p, const size_t size ) = 0;
00052 virtual IStream & get( unsigned int * const p, const size_t size ) = 0;
00053 virtual IStream & get( long * const p, const size_t size ) = 0;
00054 virtual IStream & get( unsigned long * const p, const size_t size ) = 0;
00055 virtual IStream & get( float * const p, const size_t size ) = 0;
00056 virtual IStream & get( double * const p, const size_t size ) = 0;
00057 virtual IStream & get( std::string * const p, const size_t size ) = 0;
00058
00059
00060 };
00061
00062 }
00063
00064 #endif //SCT_ISTREAM_H