00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _SWORD_STREAMS_OMARSHALLER_
00020 #define _SWORD_STREAMS_OMARSHALLER_
00021
00022 #include "sword/streams.MarshallTools.h"
00023
00024 namespace sword {
00025
00026 template<class STORAGE>
00027 class OMarshaller : private MarshallTools {
00028 public:
00029
00030 static void u_write_int8 (STORAGE &storage, const int8 value);
00031 static void u_write_int16 (STORAGE &storage, const int16 value);
00032 static void u_write_int32 (STORAGE &storage, const int32 value);
00033 static void u_write_int64 (STORAGE &storage, const int64 value);
00034
00035 static void u_write_word8 (STORAGE &storage, const word8 value);
00036 static void u_write_word16 (STORAGE &storage, const word16 value);
00037 static void u_write_word32 (STORAGE &storage, const word32 value);
00038 static void u_write_word64 (STORAGE &storage, const word64 value);
00039
00040 static void u_write_float32(STORAGE &storage, const float32 value);
00041 static void u_write_float64(STORAGE &storage, const float64 value);
00042
00043 static void u_write_char (STORAGE &storage, const char value);
00044 static void u_write_bool (STORAGE &storage, const bool value);
00045 static void u_write_string (STORAGE &storage, const std::string& value);
00046 static void u_write_pointer(STORAGE &storage, const void* value);
00047
00048
00049 static void m_write_int8 (STORAGE &storage, const int8 value);
00050 static void m_write_int16 (STORAGE &storage, const int16 value);
00051 static void m_write_int32 (STORAGE &storage, const int32 value);
00052 static void m_write_int64 (STORAGE &storage, const int64 value);
00053
00054 static void m_write_word8 (STORAGE &storage, const word8 value);
00055 static void m_write_word16 (STORAGE &storage, const word16 value);
00056 static void m_write_word32 (STORAGE &storage, const word32 value);
00057 static void m_write_word64 (STORAGE &storage, const word64 value);
00058
00059 static void m_write_float32(STORAGE &storage, const float32 value);
00060 static void m_write_float64(STORAGE &storage, const float64 value);
00061
00062 static void m_write_char (STORAGE &storage, const char value);
00063 static void m_write_bool (STORAGE &storage, const bool value);
00064 static void m_write_string (STORAGE &storage, const std::string& value);
00065 static void m_write_pointer(STORAGE &storage, const void* value);
00066 };
00067
00068 }
00069
00070 #include "sword.private/streams.OMarshaller.inl"
00071
00072 #endif // _SWORD_STREAMS_OMARSHALLER_