00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 #ifndef _SK_IO_OUTPUTSTREAM_
00009 #define _SK_IO_OUTPUTSTREAM_
00010 
00011 #include <sk/util/Object.h>
00012 #include <vector>
00013 
00014 namespace sk {
00015   namespace io {
00016     class OutputStream
00017       : public virtual sk::util::Object 
00018     {
00019       public:
00022         virtual void close() = 0;
00023 
00026         virtual void flush() = 0;
00027 
00031         virtual int write(const char* buffer, int offset, int length) = 0;
00032 
00036         virtual int write(const std::vector<char>& data, int offset) = 0;
00037 
00040         virtual int write(const std::vector<char>& data) = 0;
00041 
00043         virtual int write(char byte) = 0;
00044     };
00045   }
00046 }
00047 
00048 #endif