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)
tesseract::ParamsVectors * GlobalParams()
@ SET_PARAM_CONSTRAINT_NON_DEBUG_ONLY
@ SET_PARAM_CONSTRAINT_NONE
@ SET_PARAM_CONSTRAINT_NON_INIT_ONLY
@ SET_PARAM_CONSTRAINT_DEBUG_ONLY
GenericVector< IntParam * > int_params
GenericVector< DoubleParam * > double_params
GenericVector< BoolParam * > bool_params
GenericVector< StringParam * > string_params
static bool ReadParamsFromFp(SetParamConstraint constraint, TFile *fp, ParamsVectors *member_params)
static bool ReadParamsFile(const char *file, SetParamConstraint constraint, ParamsVectors *member_params)
static T * FindParam(const char *name, const GenericVector< T * > &global_vec, const GenericVector< T * > &member_vec)
static bool GetParamAsString(const char *name, const ParamsVectors *member_params, STRING *value)
static void ResetToDefaults(ParamsVectors *member_params)
static void RemoveParam(T *param_ptr, GenericVector< T * > *vec)
static void PrintParams(FILE *fp, const ParamsVectors *member_params)
static bool SetParam(const char *name, const char *value, SetParamConstraint constraint, ParamsVectors *member_params)
Param(const char *name, const char *comment, bool init)
const char * info_str() const
bool constraint_ok(SetParamConstraint constraint) const
const char * name_str() const
void ResetFrom(const ParamsVectors *vec)
void operator=(int32_t value)
IntParam(int32_t value, const char *name, const char *comment, bool init, ParamsVectors *vec)
void set_value(int32_t value)
void set_value(bool value)
void ResetFrom(const ParamsVectors *vec)
void operator=(bool value)
BoolParam(bool value, const char *name, const char *comment, bool init, ParamsVectors *vec)
bool operator==(const STRING &other)
void set_value(const STRING &value)
void operator=(const STRING &value)
StringParam(const char *value, const char *name, const char *comment, bool init, ParamsVectors *vec)
const char * string() const
const char * c_str() const
void ResetFrom(const ParamsVectors *vec)
void operator=(double value)
void ResetFrom(const ParamsVectors *vec)
void set_value(double value)
DoubleParam(double value, const char *name, const char *comment, bool init, ParamsVectors *vec)
const char * string() const