00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _SWORD_STREAMS_OSTREAMTEXTWRITER_
00020 #define _SWORD_STREAMS_OSTREAMTEXTWRITER_
00021
00022 namespace sword {
00023
00024 template<class STORAGE>
00025 class OStreamTextWriter {
00026 STORAGE &storage_;
00027
00028 public:
00029 OStreamTextWriter(STORAGE &storage) : storage_(storage) {}
00030 ~OStreamTextWriter() {}
00031
00032 void write_int8 (const int8 value);
00033 void write_int16 (const int16 value);
00034 void write_int32 (const int32 value);
00035 void write_int64 (const int64 value);
00036
00037 void write_word8 (const word8 value);
00038 void write_word16 (const word16 value);
00039 void write_word32 (const word32 value);
00040 void write_word64 (const word64 value);
00041
00042 void write_float32(const float32 value);
00043 void write_float64(const float64 value);
00044
00045 void write_char (const char value);
00046 void write_bool (const bool value);
00047 void write_string (const std::string &value);
00048 void write_pointer(const void* value);
00049
00050 void flush();
00051 };
00052
00053 }
00054
00055 #include "sword.private/streams.OStreamTextWriter.inl"
00056
00057 #endif // _SWORD_STREAMS_OSTREAMTEXTWRITER_