Elm  1.0
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
elm::serial::Serializer Class Referenceabstract

#include <elm/serial/Serializer.h>

+ Inheritance diagram for elm::serial::Serializer:

Public Member Functions

virtual ~Serializer (void)
 
virtual void close (void)=0
 
template<class T >
void write (const T &val)
 
virtual void write (bool val)=0
 
virtual void write (char val)=0
 
virtual void write (unsigned char val)=0
 
virtual void write (short val)=0
 
virtual void write (unsigned short val)=0
 
virtual void write (long val)=0
 
virtual void write (unsigned long val)=0
 
virtual void write (int val)=0
 
virtual void write (unsigned int val)=0
 
virtual void write (long long val)=0
 
virtual void write (unsigned long long val)=0
 
virtual void write (float val)=0
 
virtual void write (double val)=0
 
virtual void write (CString val)=0
 
virtual void write (String &val)=0
 
virtual bool writePointer (const void *ptr)=0
 
virtual void beginObject (CString name, const void *ptr)=0
 
virtual void endObject (void)=0
 
virtual void writeField (CString name)=0
 
template<class T >
Serializeroperator<< (const T &val)
 
template<class T >
void processField (CString name, const T &val)
 

Protected Types

typedef void(* delay_t )(Serializer &serializer, const void *p)
 

Protected Member Functions

virtual void delayObject (const void *ptr, delay_t fun)=0
 

Detailed Description

Interface implemented by objets providing serialization facilities.

Deprecated:

Member Typedef Documentation

typedef void(* elm::serial::Serializer::delay_t)(Serializer &serializer, const void *p)
protected

Constructor & Destructor Documentation

virtual elm::serial::Serializer::~Serializer ( void  )
virtual

Member Function Documentation

void elm::serial::Serializer::beginObject ( CString  name,
const void *  ptr 
)
pure virtual

Serialization of an object begins.

Parameters
nameObject class name.
ptrPointer to the object.

Implemented in elm::serial::TextSerializer.

void elm::serial::Serializer::close ( void  )
pure virtual

Stop the serialization. Delayed serialization may be performed.

Implemented in elm::serial::TextSerializer.

void elm::serial::Serializer::delayObject ( const void *  ptr,
delay_t  fun 
)
protectedpure virtual

When an object cannot be serialized immediately, this function is called to record it for future serialization.

Parameters
ptrDelayed objet pointer.
funfun used to perform the serialization.

Implemented in elm::serial::TextSerializer.

void elm::serial::Serializer::endObject ( void  )
pure virtual

End of the current object serialization.

Implemented in elm::serial::TextSerializer.

template<class T >
Serializer& elm::serial::Serializer::operator<< ( const T &  val)

References write().

template<class T >
void elm::serial::Serializer::processField ( CString  name,
const T &  val 
)

References writeField().

template<class T >
void elm::serial::Serializer::write ( const T &  val)

Add the given value to the serialization.

Parameters
valValue to serialize.
Note
There is specialization of this method for each base type.

Referenced by operator<<().

virtual void elm::serial::Serializer::write ( bool  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( char  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( unsigned char  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( short  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( unsigned short  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( long  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( unsigned long  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( int  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( unsigned int  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( long long  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( unsigned long long  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( float  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( double  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( CString  val)
pure virtual

Implemented in elm::serial::TextSerializer.

virtual void elm::serial::Serializer::write ( String val)
pure virtual

Implemented in elm::serial::TextSerializer.

void elm::serial::Serializer::writeField ( CString  name)
pure virtual

A field will be serialized.

Parameters
nameField name.

Implemented in elm::serial::TextSerializer.

Referenced by processField().

bool elm::serial::Serializer::writePointer ( const void *  ptr)
pure virtual

Serialize a pointer.

Parameters
ptrPointer of the object to serialize.
Returns
True if the pointer has been serialized, false if the object serialization needs to be delayed.

Implemented in elm::serial::TextSerializer.


The documentation for this class was generated from the following files: