Changes in / [894:268a052c3043:901:91d50cfe924e] in lemon
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/glpk.h
r697 r900 26 26 #include <lemon/lp_base.h> 27 27 28 // forward declaration29 #if !defined _GLP_PROB && !defined GLP_PROB30 #define _GLP_PROB31 #define GLP_PROB32 typedef struct { double _opaque_prob; } glp_prob;33 /* LP/MIP problem object */34 #endif35 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 39 51 /// \brief Base interface for the GLPK LP and MIP solver … … 44 56 protected: 45 57 46 typedef glp_prob LPX; 47 glp_prob* lp; 58 _solver_bits::VoidPtr lp; 48 59 49 60 GlpkBase(); … … 123 134 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 129 140 ///Returns the constraint identifier understood by GLPK.
Note: See TracChangeset
for help on using the changeset viewer.