00001
00002
00003 #ifndef StateHistory_h
00004 #define StateHistory_h
00005
00006 #include <string>
00007
00008 #include "Serializable.h"
00009
00010
00014 class StateHistory: public Serializable
00015 {
00016
00017 public:
00019 StateHistory() {}
00020
00023 virtual void capture() = 0;
00024
00026 virtual void restore() = 0;
00027
00028
00029 private:
00030 friend class boost::serialization::access;
00031 template<class Archive>
00032 void serialize(Archive & ar, const unsigned int version) {
00033 this->pre_serialize(ar, version);
00034 try {
00035 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Serializable);
00036 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION;
00037 }
00038 this->post_serialize(ar, version);
00039 }
00040
00041 };
00042
00043 BIE_CLASS_EXPORT_KEY(StateHistory)
00044 #endif