00001 #ifndef SUNDANCEMEMORYMANAGERTHREAD_H 00002 #define SUNDANCEMEMORYMANAGERTHREAD_H 00003 00004 #include "SundanceDefs.h" 00005 00006 #include "IdeaComputeThread.h" 00007 #include "XMLInterface.h" 00008 #include "StaticLinearProblem.h" 00009 #include "ExprHashtable.h" 00010 #include "SundanceHandler.h" 00011 00012 00013 namespace Sundance 00014 { 00015 00016 using namespace TSF; 00017 using std::string; 00018 00019 using std::ostream; 00020 00021 00022 class SundanceMemoryManagerThread : public IdeaComputeThread 00023 { 00024 public: 00025 SundanceMemoryManagerThread(SundanceHandler* parentHandler); 00026 00027 virtual void go(); 00028 00029 void killVector(const XMLObject& in, XMLObject& out); 00030 00031 protected: 00032 00033 const Expr& getExpr(const string& name) const ; 00034 void putExpr(const string& name, const Expr& e); 00035 void removeExpr(const string& name); 00036 }; 00037 00038 } 00039 #endif