00001 #ifndef gridripper_io_DataOutputStream_h
00002 #define gridripper_io_DataOutputStream_h
00003
00004 #include <iostream>
00005 #include <gridripper/io/IOException.h>
00006
00007 namespace gridripper { namespace io {
00008
00009 using namespace std;
00010
00018 class DataOutputStream
00019 {
00020 private:
00021 ostream& out;
00022
00023 public:
00024 DataOutputStream(ostream& os): out(os) { }
00025
00030 void writeByte(int b) throw(IOException&);
00031
00037 void writeString(const string& s) throw(IOException&);
00038
00043 void writeUnsignedInt(unsigned int v) throw(IOException&);
00044
00049 void writeInt(int v) throw(IOException&) {
00050 writeUnsignedInt((unsigned int)v);
00051 }
00052
00057 void writeUnsignedShort(unsigned short v) throw(IOException&);
00058
00063 void writeShort(short v) throw(IOException&) {
00064 writeUnsignedShort((unsigned short)v);
00065 }
00066
00071 void writeFloat(float v) throw(IOException&);
00072
00077 void writeDouble(double v) throw(IOException&);
00078
00080 void flush() throw(IOException&);
00081 };
00082
00083 } }
00084
00085 #endif