Changes in / [899:cc9e0c15d747:902:d2bc45e8f6f2] in lemon
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/glpk.h
r793 r902 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(); … … 124 135 125 136 ///Pointer to the underlying GLPK data structure. 126 LPX *lpx() {return lp;}137 _solver_bits::VoidPtr lpx() {return lp;} 127 138 ///Const pointer to the underlying GLPK data structure. 128 const LPX *lpx() const {return lp;}139 _solver_bits::VoidPtr lpx() const {return lp;} 129 140 130 141 ///Returns the constraint identifier understood by GLPK.
Note: See TracChangeset
for help on using the changeset viewer.