diff -r 0fec6a017ead -r ba124394367a lemon/glpk.h --- a/lemon/glpk.h Mon Feb 23 22:54:25 2009 +0100 +++ b/lemon/glpk.h Mon Feb 23 23:44:29 2009 +0100 @@ -100,16 +100,20 @@ virtual void _clear(); + private: + + static void freeEnv(); + + struct FreeEnvHelper { + ~FreeEnvHelper() { + freeEnv(); + } + }; + + static FreeEnvHelper freeEnvHelper; + public: - /// \brief Deallocates the globally allocated memory of GLPK. - - /// Deallocates the globally allocated memory of GLPK. \note - /// Usually, it do not have to be called, because the GLPK use - /// only a small amount of global memory, and it is deallocated - /// automatically at the end of program. - static void freeEnv(); - ///Pointer to the underlying GLPK data structure. LPX *lpx() {return lp;} ///Const pointer to the underlying GLPK data structure.