diff options
Diffstat (limited to '')
| -rw-r--r-- | src/serializable.h | 22 | 
1 files changed, 21 insertions, 1 deletions
diff --git a/src/serializable.h b/src/serializable.h index 36c94df..06def29 100644 --- a/src/serializable.h +++ b/src/serializable.h  | |||
| @@ -3,12 +3,32 @@ | |||
| 3 | 3 | ||
| 4 | //#include "serializer.h" | 4 | //#include "serializer.h" | 
| 5 | 5 | ||
| 6 | /** | ||
| 7 | * The base class for any class you want to serialize. Simply include this as | ||
| 8 | * a base class, implement the purely virtual serialize function and you've got | ||
| 9 | * an easily serializable class. | ||
| 10 | */ | ||
| 6 | class Serializable | 11 | class Serializable | 
| 7 | { | 12 | { | 
| 8 | public: | 13 | public: | 
| 14 | /** | ||
| 15 | * Does nothing, here for completeness. | ||
| 16 | */ | ||
| 9 | Serializable(); | 17 | Serializable(); | 
| 18 | |||
| 19 | /** | ||
| 20 | * Here to ensure the deconstructor is virtual. | ||
| 21 | */ | ||
| 10 | virtual ~Serializable(); | 22 | virtual ~Serializable(); | 
| 11 | virtual void serialize(class Serializer &)=0; | 23 | |
| 24 | /** | ||
| 25 | * This is the main workhorse of the serialization system, just override and | ||
| 26 | * you've got a serializable class. A reference to the Serializer archive | ||
| 27 | * used is passed in as your only parameter, query it to discover if you are | ||
| 28 | * loading or saving. | ||
| 29 | * @param ar A reference to the Serializer object to use. | ||
| 30 | */ | ||
| 31 | virtual void serialize( class Serializer &ar )=0; | ||
| 12 | }; | 32 | }; | 
| 13 | 33 | ||
| 14 | #endif | 34 | #endif | 
