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