gravatar
deba@inf.elte.hu
deba@inf.elte.hu
Merge bugfix #337 to branch 1.1
0 1 0
merge 1.1
0 files changed with 23 insertions and 12 deletions:
↑ Collapse diff ↑
Show white space 6 line context
... ...
@@ -27,12 +27,24 @@
27 27

	
28
// forward declaration
29
#if !defined _GLP_PROB && !defined GLP_PROB
30
#define _GLP_PROB
31
#define GLP_PROB
32
typedef struct { double _opaque_prob; } glp_prob;
33
/* LP/MIP problem object */
34
#endif
35

	
36 28
namespace lemon {
37 29

	
30
  namespace _solver_bits {
31
    class VoidPtr {
32
    private:
33
      void *_ptr;      
34
    public:
35
      VoidPtr() : _ptr(0) {}
36

	
37
      template <typename T>
38
      VoidPtr(T* ptr) : _ptr(reinterpret_cast<void*>(ptr)) {}
39

	
40
      template <typename T>
41
      VoidPtr& operator=(T* ptr) { 
42
        _ptr = reinterpret_cast<void*>(ptr); 
43
        return *this;
44
      }
45

	
46
      template <typename T>
47
      operator T*() const { return reinterpret_cast<T*>(_ptr); }
48
    };
49
  }
38 50

	
... ...
@@ -45,4 +57,3 @@
45 57

	
46
    typedef glp_prob LPX;
47
    glp_prob* lp;
58
    _solver_bits::VoidPtr lp;
48 59

	
... ...
@@ -124,5 +135,5 @@
124 135
    ///Pointer to the underlying GLPK data structure.
125
    LPX *lpx() {return lp;}
136
    _solver_bits::VoidPtr lpx() {return lp;}
126 137
    ///Const pointer to the underlying GLPK data structure.
127
    const LPX *lpx() const {return lp;}
138
    _solver_bits::VoidPtr lpx() const {return lp;}
128 139

	
0 comments (0 inline)