66 static bool SetParam(
const char* name,
const char* value,
77 for (i = 0; i < global_vec.
size(); ++i) {
78 if (strcmp(global_vec[i]->name_str(), name) == 0)
return global_vec[i];
80 for (i = 0; i < member_vec.
size(); ++i) {
81 if (strcmp(member_vec[i]->name_str(), name) == 0)
return member_vec[i];
88 for (
int i = 0; i < vec->
size(); ++i) {
89 if ((*vec)[i] == param_ptr) {
127 Param(
const char* name,
const char* comment,
bool init)
129 debug_ = (strstr(name,
"debug") !=
nullptr) || (strstr(name,
"display"));
140 IntParam(int32_t value,
const char* name,
const char* comment,
bool init,
142 :
Param(name, comment, init) {
148 ~IntParam() { ParamUtils::RemoveParam<IntParam>(
this, params_vec_); }
149 operator int32_t()
const {
return value_; }
154 for (
int i = 0; i < vec->
int_params.size(); ++i) {
173 BoolParam(
bool value,
const char* name,
const char* comment,
bool init,
175 :
Param(name, comment, init) {
181 ~BoolParam() { ParamUtils::RemoveParam<BoolParam>(
this, params_vec_); }
182 operator bool()
const {
return value_; }
187 for (
int i = 0; i < vec->
bool_params.size(); ++i) {
206 StringParam(
const char* value,
const char* name,
const char* comment,
208 :
Param(name, comment, init) {
214 ~StringParam() { ParamUtils::RemoveParam<StringParam>(
this, params_vec_); }
243 DoubleParam(
double value,
const char* name,
const char* comment,
bool init,
245 :
Param(name, comment, init) {
251 ~DoubleParam() { ParamUtils::RemoveParam<DoubleParam>(
this, params_vec_); }
252 operator double()
const {
return value_; }
295 #define INT_VAR_H(name, val, comment) tesseract::IntParam name 297 #define BOOL_VAR_H(name, val, comment) tesseract::BoolParam name 299 #define STRING_VAR_H(name, val, comment) tesseract::StringParam name 301 #define double_VAR_H(name, val, comment) tesseract::DoubleParam name 303 #define INT_VAR(name, val, comment) \ 304 tesseract::IntParam name(val, #name, comment, false, GlobalParams()) 306 #define BOOL_VAR(name, val, comment) \ 307 tesseract::BoolParam name(val, #name, comment, false, GlobalParams()) 309 #define STRING_VAR(name, val, comment) \ 310 tesseract::StringParam name(val, #name, comment, false, GlobalParams()) 312 #define double_VAR(name, val, comment) \ 313 tesseract::DoubleParam name(val, #name, comment, false, GlobalParams()) 315 #define INT_MEMBER(name, val, comment, vec) \ 316 name(val, #name, comment, false, vec) 318 #define BOOL_MEMBER(name, val, comment, vec) \ 319 name(val, #name, comment, false, vec) 321 #define STRING_MEMBER(name, val, comment, vec) \ 322 name(val, #name, comment, false, vec) 324 #define double_MEMBER(name, val, comment, vec) \ 325 name(val, #name, comment, false, vec) 327 #define INT_INIT_MEMBER(name, val, comment, vec) \ 328 name(val, #name, comment, true, vec) 330 #define BOOL_INIT_MEMBER(name, val, comment, vec) \ 331 name(val, #name, comment, true, vec) 333 #define STRING_INIT_MEMBER(name, val, comment, vec) \ 334 name(val, #name, comment, true, vec) 336 #define double_INIT_MEMBER(name, val, comment, vec) \ 337 name(val, #name, comment, true, vec)
static bool SetParam(const char *name, const char *value, SetParamConstraint constraint, ParamsVectors *member_params)
tesseract::ParamsVectors * GlobalParams()
void set_value(int32_t value)
static void RemoveParam(T *param_ptr, GenericVector< T *> *vec)
void set_value(bool value)
bool constraint_ok(SetParamConstraint constraint) const
Param(const char *name, const char *comment, bool init)
static T * FindParam(const char *name, const GenericVector< T *> &global_vec, const GenericVector< T *> &member_vec)
DoubleParam(double value, const char *name, const char *comment, bool init, ParamsVectors *vec)
const char * string() const
bool operator==(const STRING &other)
BoolParam(bool value, const char *name, const char *comment, bool init, ParamsVectors *vec)
const char * string() const
GenericVector< BoolParam * > bool_params
IntParam(int32_t value, const char *name, const char *comment, bool init, ParamsVectors *vec)
static bool ReadParamsFile(const char *file, SetParamConstraint constraint, ParamsVectors *member_params)
void operator=(bool value)
static void ResetToDefaults(ParamsVectors *member_params)
void ResetFrom(const ParamsVectors *vec)
StringParam(const char *value, const char *name, const char *comment, bool init, ParamsVectors *vec)
GenericVector< IntParam * > int_params
static bool ReadParamsFromFp(SetParamConstraint constraint, TFile *fp, ParamsVectors *member_params)
GenericVector< DoubleParam * > double_params
void ResetFrom(const ParamsVectors *vec)
const char * info_str() const
void ResetFrom(const ParamsVectors *vec)
void operator=(int32_t value)
const char * c_str() const
void set_value(const STRING &value)
void set_value(double value)
static void PrintParams(FILE *fp, const ParamsVectors *member_params)
const char * name_str() const
void ResetFrom(const ParamsVectors *vec)
void operator=(const STRING &value)
GenericVector< StringParam * > string_params
static bool GetParamAsString(const char *name, const ParamsVectors *member_params, STRING *value)
void operator=(double value)