bzscmn/serializer.h File Reference

#include <bzscmn/string.h>
#include "ser_def.h"

Include dependency graph for serializer.h:

This graph shows which files directly or indirectly include this file:


Namespaces

namespace  BazisLib
namespace  BazisLib::Serializer
 Serializer-related API.

Defines

#define __SERIALIZER_DEFAULT_int   0
#define __SERIALIZER_DEFAULT_unsigned   0
#define __SERIALIZER_DEFAULT_bool   false
#define __SERIALIZER_DEFAULT_String
#define __SERIALIZER_DEFAULT_LONGLONG   0LL
#define __SERIALIZER_DEFAULT_ULONGLONG   0ULL
#define IMPLEMENT_STD_SERIALIZE_METHOD
#define IMPLEMENT_STD_DESERIALIZE_METHOD
#define IMPLEMENT_EMPTY_SERIALIZE_WRAPPER
#define IMPLEMENT_EMPTY_DESERIALIZE_WRAPPER

Functions

template<class _Ty >
const TCHAR * BazisLib::Serializer::GetClassName (_Ty &ref)
 Returns a name for serializeable structure.
static const wchar_t * BazisLib::Serializer::GetPrintfFormatForType (int *pObj)
static const wchar_t * BazisLib::Serializer::GetPrintfFormatForType (unsigned *pObj)
static const wchar_t * BazisLib::Serializer::GetPrintfFormatForType (LONGLONG *pObj)
static const wchar_t * BazisLib::Serializer::GetPrintfFormatForType (ULONGLONG *pObj)

Define Documentation

#define __SERIALIZER_DEFAULT_bool   false

#define __SERIALIZER_DEFAULT_int   0

#define __SERIALIZER_DEFAULT_LONGLONG   0LL

#define __SERIALIZER_DEFAULT_String

#define __SERIALIZER_DEFAULT_ULONGLONG   0ULL

#define __SERIALIZER_DEFAULT_unsigned   0

#define IMPLEMENT_EMPTY_DESERIALIZE_WRAPPER

Value:

template <class _Ty> bool BeginDeserialization(_Ty &ref) {return true;} \
                template <class _Ty> bool EndDeserialization(_Ty &ref) {return true;}

#define IMPLEMENT_EMPTY_SERIALIZE_WRAPPER

Value:

template <class _Ty> bool BeginSerialization(_Ty &ref) {return true;} \
                template <class _Ty> bool EndSerialization(_Ty &ref) {return true;}

#define IMPLEMENT_STD_DESERIALIZE_METHOD

Value:

template<class _Type> bool DeserializeObject(_Type &ref) \
                { \
                        if (!BeginDeserialization(ref)) return false; \
                        bool ret = ref.__SERIALIZER_ITERATION_THUNK(*this, false); \
                        if (!EndDeserialization(ref)) return false; \
                        return ret; \
                }

#define IMPLEMENT_STD_SERIALIZE_METHOD

Value:

template<class _Type> bool SerializeObject(_Type &ref) \
                { \
                        if (!BeginSerialization(ref)) return false; \
                        bool ret = ref.__SERIALIZER_ITERATION_THUNK(*this, true); \
                        if (!EndSerialization(ref)) return false; \
                        return ret; \
                }

SourceForge.net Logo