00001 00019 #ifndef _LS_PARAMETERS_MEMORY_H 00020 00021 #define _LS_PARAMETERS_MEMORY_H 1 00022 00023 #include <realea/common/ilocalsearch.h> 00024 #include <realea/common/popobserver.h> 00025 00026 namespace realea { 00027 00028 namespace internal { 00029 00035 class LSParametersMemory : public PopulationObserver { 00036 public: 00040 void reset(void); 00041 00047 void remove(unsigned id); 00052 void notifyChange(unsigned id); 00059 void changeId(unsigned oldid, unsigned newid); 00060 public: 00069 void store(unsigned id, ILSParameters *params); 00073 ILSParameters *recover(unsigned id); 00074 00080 LSParametersMemory(unsigned tam); 00081 00087 ~LSParametersMemory(void); 00088 00089 private: 00090 vector<ILSParameters*> m_params; 00091 }; 00092 00093 typedef vector<ILSParameters*> LSMemory; 00094 00095 } 00096 00097 } 00098 00099 00100 #endif