gravatar
deba@inf.elte.hu
deba@inf.elte.hu
Automatic GLPK env deallocation (#213)
0 4 0
default
4 files changed with 14 insertions and 10 deletions:
↑ Collapse diff ↑
Ignore white space 6 line context
... ...
@@ -527,4 +527,6 @@
527 527
  }
528 528

	
529
  GlpkBase::FreeEnvHelper GlpkBase::freeEnvHelper;
530

	
529 531
  // GlpkLp members
530 532

	
Ignore white space 4 line context
... ...
@@ -101,14 +101,18 @@
101 101
    virtual void _clear();
102 102

	
103
  private:
104

	
105
    static void freeEnv();
106

	
107
    struct FreeEnvHelper {
108
      ~FreeEnvHelper() {
109
        freeEnv();
110
      }
111
    };
112
    
113
    static FreeEnvHelper freeEnvHelper;
114
    
103 115
  public:
104 116

	
105
    /// \brief Deallocates the globally allocated memory of GLPK.
106

	
107
    /// Deallocates the globally allocated memory of GLPK.  \note
108
    /// Usually, it do not have to be called, because the GLPK use
109
    /// only a small amount of global memory, and it is deallocated
110
    /// automatically at the end of program.
111
    static void freeEnv();
112

	
113 117
    ///Pointer to the underlying GLPK data structure.
114 118
    LPX *lpx() {return lp;}
Ignore white space 6 line context
... ...
@@ -367,5 +367,4 @@
367 367
    aTest(lp_glpk2);
368 368
  }
369
  GlpkLp::freeEnv();
370 369
#endif
371 370

	
Ignore white space 6 line context
... ...
@@ -116,5 +116,4 @@
116 116
    aTest(mip1);
117 117
  }
118
  GlpkLp::freeEnv();
119 118
#endif
120 119

	
0 comments (0 inline)