00001 #ifndef SCT_OSTREAM_H
00002 #define SCT_OSTREAM_H
00003
00004 #include <string>
00005
00006 namespace Sct {
00007
00010 class OStream {
00011 public:
00012 virtual OStream & operator<<(bool val) = 0;
00013 virtual OStream & operator<<(char val) = 0;
00014 virtual OStream & operator<<(unsigned char val) = 0;
00015 virtual OStream & operator<<(short val) = 0;
00016 virtual OStream & operator<<(unsigned short val) = 0;
00017 virtual OStream & operator<<(int val) = 0;
00018 virtual OStream & operator<<(unsigned int val) = 0;
00019 virtual OStream & operator<<(long val) = 0;
00020 virtual OStream & operator<<(unsigned long val) = 0;
00021 virtual OStream & operator<<(double val) = 0;
00022 virtual OStream & operator<<(float val) = 0;
00023 virtual OStream & operator<<(const std::string & val) = 0;
00024
00025
00026
00027 virtual OStream & operator<<(const char * str) = 0;
00028 virtual OStream & operator<<(const unsigned char * str) = 0;
00029
00030 virtual OStream & put(const bool* p, size_t size) = 0;
00031 virtual OStream & put(const char* p, size_t size) = 0;
00032 virtual OStream & put(const unsigned char* p, size_t size) = 0;
00033 virtual OStream & put(const short* p, size_t size) = 0;
00034 virtual OStream & put(const unsigned short* p, size_t size) = 0;
00035 virtual OStream & put(const int* p, size_t size) = 0;
00036 virtual OStream & put(const unsigned int* p, size_t size) = 0;
00037 virtual OStream & put(const long* p, size_t size) = 0;
00038 virtual OStream & put(const unsigned long* p, size_t size) = 0;
00039 virtual OStream & put(const float* p, size_t size) = 0;
00040 virtual OStream & put(const double* p, size_t size) = 0;
00041 virtual OStream & put(const std::string* p, size_t size) = 0;
00042
00043
00044 };
00045 }
00046 #endif