7 #ifndef ELM_SERIAL_UNSERIALIZER_H
8 #define ELM_SERIAL_UNSERIALIZER_H
10 #include <elm/string.h>
11 #include <elm/util/Pair.h>
12 #include <elm/serial/SerialClass.h>
14 namespace elm {
namespace serial {
19 template <
class T>
void process(T& val) {
read(val); };
25 template <
class T>
inline void read(T& val) {
27 val.__serialize(*
this);
30 template <
class T>
inline void read(T *&val) {
33 virtual void close(
void) = 0;
45 virtual void read(
bool& val) = 0;
46 virtual void read(
char& val) = 0;
47 virtual void read(
unsigned char& val) = 0;
48 virtual void read(
short& val) = 0;
49 virtual void read(
unsigned short& val) = 0;
50 virtual void read(
long& val) = 0;
51 virtual void read(
unsigned long& val) = 0;
52 virtual void read(
int& val) = 0;
53 virtual void read(
unsigned int& val) = 0;
54 virtual void read(
long long& val) = 0;
55 virtual void read(
unsigned long long& val) = 0;
56 virtual void read(
float& val) = 0;
57 virtual void read(
double& val) = 0;
78 #endif // ELM_SERIAL_UNSERIALIZER_H
Definition: SerialClass.h:19
virtual bool nextItem(void)=0
void processField(CString name, T &val)
Definition: Unserializer.h:68
virtual void beginObject(CString name, void *ptr)=0
virtual bool beginField(CString name)=0
virtual void endField(void)=0
virtual void close(void)=0
virtual void readPointer(SerialClass &clazz, void *&ptr)=0
Unserializer & operator>>(T &val)
Definition: Unserializer.h:62
virtual bool beginList(void)=0
Definition: Unserializer.h:17
virtual ~Unserializer(void)
Definition: Unserializer.h:22
void read(T &val)
Definition: Unserializer.h:25
virtual void endObject(void)=0
virtual void endList(void)=0
void read(T *&val)
Definition: Unserializer.h:30
virtual int readEnum(Pair< elm::CString, int > values[])=0