CbcGenCbcParam.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2007, Lou Hafer, International Business Machines Corporation
3  and others. All Rights Reserved.
4 
5  This file is part of cbc-generic.
6 */
7 
8 #ifndef CbcCbcParam_H
9 #define CbcCbcParam_H
10 
11 /* \file CbcGenCbcParam.hpp
12  \brief Declarations for parameters that act on a CbcModel object.
13 */
14 
15 /*
16  $Id: CbcGenCbcParam.hpp 1173 2009-06-04 09:44:10Z forrest $
17 */
18 
26 class CbcCbcParam : public CoinParam {
27 
28 public:
29 
32 
41 
50 
52 
53  } CbcCbcParamCode ;
54 
56 
65  CbcCbcParam() ;
66 
73  CbcCbcParam(CbcCbcParamCode code, std::string name, std::string help,
74  double lower, double upper, double dflt = 0.0,
75  bool display = true) ;
76 
81  CbcCbcParam(CbcCbcParamCode code, std::string name, std::string help,
82  int lower, int upper, int dflt = 0,
83  bool display = true) ;
84 
94  CbcCbcParam(CbcCbcParamCode code, std::string name, std::string help,
95  std::string firstValue, int dflt, bool display = true) ;
96 
103  CbcCbcParam(CbcCbcParamCode code, std::string name, std::string help,
104  std::string dflt, bool display = true) ;
105 
108  CbcCbcParam(CbcCbcParamCode code, std::string name, std::string help,
109  bool display = true) ;
110 
113  CbcCbcParam(const CbcCbcParam &orig) ;
114 
117  CbcCbcParam *clone() ;
118 
121  CbcCbcParam &operator=(const CbcCbcParam &rhs) ;
122 
125  ~CbcCbcParam() ;
126 
128 
131 
134  inline CbcCbcParamCode paramCode() const {
135  return (paramCode_) ;
136  }
137 
140  inline void setParamCode(CbcCbcParamCode code) {
141  paramCode_ = code ;
142  }
143 
146  inline CbcModel *obj() const {
147  return (obj_) ;
148  }
149 
152  inline void setObj(CbcModel *obj) {
153  obj_ = obj ;
154  }
155 
157 
158 private:
159 
162 
165 
168 
170 
171 } ;
172 
173 
174 /*
175  Declare the utility functions.
176 */
177 
178 namespace CbcCbcParamUtils {
179 void addCbcCbcParams(int &numParams, CoinParamVec &paramVec,
180  CbcModel *model) ;
181 void loadCbcParamObj(const CoinParamVec paramVec, int first, int last,
182  CbcModel *model) ;
183 void setCbcModelDefaults (CbcModel *model) ;
184 
185 int pushCbcCbcDbl(CoinParam *param) ;
186 int pushCbcCbcInt(CoinParam *param) ;
187 }
188 
189 #endif
190