#ifndef SERIALIZER_H #define SERIALIZER_H //#include "serializer.h" /** * The base class for any class you want to serialize. Simply include this as * a base class, implement the purely virtual serialize function and you've got * an easily serializable class. */ class Serializable { public: /** * Does nothing, here for completeness. */ Serializable(); /** * Here to ensure the deconstructor is virtual. */ virtual ~Serializable(); /** * This is the main workhorse of the serialization system, just override and * you've got a serializable class. A reference to the Serializer archive * used is passed in as your only parameter, query it to discover if you are * loading or saving. * @param ar A reference to the Serializer object to use. */ virtual void serialize( class Serializer &ar )=0; }; #endif