1 |
#ifndef ASCXX_SOLVER_PARAMETER_H |
2 |
#define ASCXX_SOLVER_PARAMETER_H |
3 |
|
4 |
#include <string> |
5 |
#include <vector> |
6 |
|
7 |
extern "C"{ |
8 |
#include <stdio.h> |
9 |
#include "utilities/ascConfig.h" |
10 |
#include "solver/slv_types.h" |
11 |
#include "solver/rel.h" |
12 |
#include "solver/logrel.h" |
13 |
#include "solver/mtx.h" |
14 |
#include "general/list.h" |
15 |
#include "solver/slv_common.h" |
16 |
} |
17 |
|
18 |
class SolverParameter{ |
19 |
private: |
20 |
struct slv_parameter *p; |
21 |
|
22 |
public: |
23 |
explicit SolverParameter(slv_parameter *); |
24 |
|
25 |
const std::string getName() const; |
26 |
const std::string getDescription() const; |
27 |
const std::string getLabel() const; |
28 |
const int &getNumber() const; |
29 |
const int &getPage() const; |
30 |
|
31 |
const bool isInt() const; |
32 |
const bool isBool() const; |
33 |
const bool isStr() const; |
34 |
const bool isReal() const; |
35 |
|
36 |
// The following throw execeptions unless the parameter type is correct |
37 |
const int &getIntValue() const; |
38 |
const int &getIntLowerBound() const; |
39 |
const int &getIntUpperBound() const; |
40 |
|
41 |
const bool getBoolValue() const; |
42 |
|
43 |
const std::string getStrValue() const; |
44 |
const std::vector<std::string> getStrOptions() const; |
45 |
|
46 |
const double &getRealValue() const; |
47 |
const double &getRealLowerBound() const; |
48 |
const double &getRealUpperBound() const; |
49 |
|
50 |
const std::string toString() const; |
51 |
}; |
52 |
|
53 |
#endif |