00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 inline
00044 BaseOption::BaseOption(const char* o, const char* e)
00045 : opt(o), exp(e) {}
00046 inline
00047 BaseOption::~BaseOption(void) {
00048 }
00049
00050
00051
00052
00053
00054
00055 inline
00056 StringOption::StringOption(const char* o, const char* e, int v)
00057 : BaseOption(o,e), cur(v), fst(NULL), lst(NULL) {}
00058 inline void
00059 StringOption::value(int v) {
00060 cur = v;
00061 }
00062 inline int
00063 StringOption::value(void) const {
00064 return cur;
00065 }
00066
00067
00068
00069
00070
00071 inline
00072 UnsignedIntOption::UnsignedIntOption(const char* o, const char* e,
00073 unsigned int v)
00074 : BaseOption(o,e), cur(v) {}
00075 inline void
00076 UnsignedIntOption::value(unsigned int v) {
00077 cur = v;
00078 }
00079 inline unsigned int
00080 UnsignedIntOption::value(void) const {
00081 return cur;
00082 }
00083
00084
00085
00086
00087
00088
00089 inline void
00090 Options::add(BaseOption& o) {
00091 o.next = NULL;
00092 if (fst == NULL) {
00093 fst=&o;
00094 } else {
00095 lst->next=&o;
00096 }
00097 lst=&o;
00098 }
00099 inline const char*
00100 Options::name(void) const {
00101 return _name;
00102 }
00103
00104
00105
00106
00107
00108 inline void
00109 Options::model(int v) {
00110 _model.value(v);
00111 }
00112 inline void
00113 Options::model(int v, const char* o, const char* h) {
00114 _model.add(v,o,h);
00115 }
00116 inline int
00117 Options::model(void) const {
00118 return _model.value();
00119 }
00120
00121 inline void
00122 Options::propagation(int v) {
00123 _propagation.value(v);
00124 }
00125 inline void
00126 Options::propagation(int v, const char* o, const char* h) {
00127 _propagation.add(v,o,h);
00128 }
00129 inline int
00130 Options::propagation(void) const {
00131 return _propagation.value();
00132 }
00133
00134 inline void
00135 Options::pk(PropKind p) {
00136 _pk.value(p);
00137 }
00138 inline PropKind
00139 Options::pk(void) const {
00140 return static_cast<PropKind>(_pk.value());
00141 }
00142
00143 inline void
00144 Options::icl(IntConLevel i) {
00145 _icl.value(i);
00146 }
00147 inline IntConLevel
00148 Options::icl(void) const {
00149 return static_cast<IntConLevel>(_icl.value());
00150 }
00151
00152 inline void
00153 Options::branching(int v) {
00154 _branching.value(v);
00155 }
00156 inline void
00157 Options::branching(int v, const char* o, const char* h) {
00158 _branching.add(v,o,h);
00159 }
00160 inline int
00161 Options::branching(void) const {
00162 return _branching.value();
00163 }
00164
00165 inline void
00166 Options::sac(int v) {
00167 _sac.value(v);
00168 }
00169 inline void
00170 Options::sac(int v, const char* o, const char* h) {
00171 _sac.add(v,o,h);
00172 }
00173 inline int
00174 Options::sac(void) const {
00175 return _sac.value();
00176 }
00177
00178
00179
00180
00181
00182
00183 inline void
00184 Options::search(int v) {
00185 _search.value(v);
00186 }
00187 inline void
00188 Options::search(int v, const char* o, const char* h) {
00189 _search.add(v,o,h);
00190 }
00191 inline int
00192 Options::search(void) const {
00193 return _search.value();
00194 }
00195
00196 inline void
00197 Options::solutions(unsigned int n) {
00198 _solutions.value(n);
00199 }
00200 inline unsigned int
00201 Options::solutions(void) const {
00202 return _solutions.value();
00203 }
00204
00205 inline void
00206 Options::c_d(unsigned int d) {
00207 _c_d.value(d);
00208 }
00209 inline unsigned int
00210 Options::c_d(void) const {
00211 return _c_d.value();
00212 }
00213
00214 inline void
00215 Options::a_d(unsigned int d) {
00216 _a_d.value(d);
00217 }
00218 inline unsigned int
00219 Options::a_d(void) const {
00220 return _a_d.value();
00221 }
00222
00223 inline void
00224 Options::fail(unsigned int n) {
00225 _fail.value(n);
00226 }
00227 inline unsigned int
00228 Options::fail(void) const {
00229 return _fail.value();
00230 }
00231
00232 inline void
00233 Options::time(unsigned int t) {
00234 _time.value(t);
00235 }
00236 inline unsigned int
00237 Options::time(void) const {
00238 return _time.value();
00239 }
00240
00241
00242
00243
00244
00245
00246
00247 inline void
00248 Options::mode(ExampleMode em) {
00249 _mode.value(em);
00250 }
00251 inline ExampleMode
00252 Options::mode(void) const {
00253 return static_cast<ExampleMode>(_mode.value());
00254 }
00255
00256 inline void
00257 Options::iterations(unsigned int i) {
00258 _iterations.value(i);
00259 }
00260 inline unsigned int
00261 Options::iterations(void) const {
00262 return _iterations.value();
00263 }
00264
00265 inline void
00266 Options::samples(unsigned int s) {
00267 _samples.value(s);
00268 }
00269 inline unsigned int
00270 Options::samples(void) const {
00271 return _samples.value();
00272 }
00273
00274 inline
00275 Options::~Options(void) {}
00276
00277
00278
00279
00280
00281 inline void
00282 SizeOptions::size(unsigned int s) {
00283 _size = s;
00284 }
00285 inline unsigned int
00286 SizeOptions::size(void) const {
00287 return _size;
00288 }
00289
00290