00001
00002
00003 #ifndef StateTransClosure_CLI_h
00004 #define StateTransClosure_CLI_h
00005
00006 #include "AData.h"
00007 #include "StateTransClosure.h"
00008 #include "gvariable.h"
00009 #include "hash_map.h"
00010
00017 class StateTransClosure_CLI : public StateTransClosure
00018 {
00019
00020 public:
00022 StateTransClosure_CLI() {}
00023
00025 virtual ~StateTransClosure_CLI () {}
00026
00029 void capture();
00030
00034 void restore();
00035
00036 private:
00037
00038 hashers<const string, AData*, hash<const string>, eqstr>::MapType globals;
00039
00040 private:
00041 friend class boost::serialization::access;
00042 template<class Archive>
00043 void serialize(Archive & ar, const unsigned int version) {
00044 try {
00045 ar & BOOST_SERIALIZATION_NVP(globals);
00046 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION
00047 }
00048 try {
00049 ar & BOOST_SERIALIZATION_NVP(st);
00050 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION
00051 }
00052 try {
00053 ar & BOOST_SERIALIZATION_NVP(ckm);
00054 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION
00055 }
00056 }
00057 };
00058
00059 BIE_CLASS_TYPE_INFO(StateTransClosure_CLI)
00060
00061 #endif