Serializable Class Definition. More...
#include "cel_memory.h"
#include "cel_autoptr.h"
#include "cel_string.h"
#include "cel_guid.h"
#include <vector>
#include <typeinfo>
Classes | |
class | Celartem::Serializable |
struct | Celartem::SerializableDataHelper< T, IS_POD > |
struct | Celartem::SerializableDataHelper< T, true > |
class | Celartem::SerializableData< T > |
Namespaces | |
Celartem | |
Macros | |
#define | REGISTER_SERIALIZABLECLASS(ID, CLASSNAME) |
#define | REGISTER_SERIALIZABLECLASS2(ID, CLASSNAME, DISPNAME) |
Typedefs | |
typedef AutoPtr< Serializable >(* | Celartem::DeserializeFunc )(Stream *inStream, size_t inLevel, Endian inEndian) |
Serializable Class Definition.
#define REGISTER_SERIALIZABLECLASS | ( | ID, | |
CLASSNAME | |||
) |
This macro is used to register user defined Celartem::Serializable derivative classes.
If you don't need to change the display name of registered class, use REGISTER_SERIALIZABLECLASS like follows:
#define REGISTER_SERIALIZABLECLASS2 | ( | ID, | |
CLASSNAME, | |||
DISPNAME | |||
) |
This macro is used to register user defined Celartem::Serializable derivative classes.
If your class does not have Celartem::Serializable feature natively, you may use Celartem::SerializableData<> adapter to deal with it, and then you feel to simplify the name obtained from typeinfo structure. REGISTER_SERIALIZABLECLASS2 is just for this purpose: