#include <params.h>
|
static bool | ReadParamsFile (const char *file, SetParamConstraint constraint, ParamsVectors *member_params) |
|
static bool | ReadParamsFromFp (SetParamConstraint constraint, TFile *fp, ParamsVectors *member_params) |
|
static bool | SetParam (const char *name, const char *value, SetParamConstraint constraint, ParamsVectors *member_params) |
|
template<class T > |
static T * | FindParam (const char *name, const std::vector< T * > &global_vec, const std::vector< T * > &member_vec) |
|
template<class T > |
static void | RemoveParam (T *param_ptr, std::vector< T * > *vec) |
|
static bool | GetParamAsString (const char *name, const ParamsVectors *member_params, std::string *value) |
|
static void | PrintParams (FILE *fp, const ParamsVectors *member_params) |
|
static void | ResetToDefaults (ParamsVectors *member_params) |
|
Definition at line 53 of file params.h.
◆ FindParam()
template<class T >
static T* tesseract::ParamUtils::FindParam |
( |
const char * |
name, |
|
|
const std::vector< T * > & |
global_vec, |
|
|
const std::vector< T * > & |
member_vec |
|
) |
| |
|
inlinestatic |
Definition at line 75 of file params.h.
77 for (
auto *param : global_vec) {
78 if (strcmp(param->name_str(), name) == 0) {
82 for (
auto *param : member_vec) {
83 if (strcmp(param->name_str(), name) == 0) {
◆ GetParamAsString()
bool tesseract::ParamUtils::GetParamAsString |
( |
const char * |
name, |
|
|
const ParamsVectors * |
member_params, |
|
|
std::string * |
value |
|
) |
| |
|
static |
Definition at line 130 of file params.cpp.
136 *value = sp->c_str();
142 *value = std::to_string(int32_t(*ip));
148 *value = bool(*bp) ?
"1" :
"0";
155 std::ostringstream stream;
156 stream.imbue(std::locale::classic());
157 stream << double(*dp);
158 *value = stream.str();
tesseract::ParamsVectors * GlobalParams()
std::vector< BoolParam * > bool_params
std::vector< StringParam * > string_params
std::vector< IntParam * > int_params
std::vector< DoubleParam * > double_params
◆ PrintParams()
void tesseract::ParamUtils::PrintParams |
( |
FILE * |
fp, |
|
|
const ParamsVectors * |
member_params |
|
) |
| |
|
static |
Definition at line 164 of file params.cpp.
165 int num_iterations = (member_params ==
nullptr) ? 1 : 2;
166 std::ostringstream stream;
167 stream.imbue(std::locale::classic());
168 for (
int v = 0; v < num_iterations; ++v) {
169 const ParamsVectors *vec = (v == 0) ?
GlobalParams() : member_params;
170 for (
auto int_param : vec->int_params) {
171 stream << int_param->name_str() <<
'\t' << (int32_t)(*int_param) <<
'\t'
172 << int_param->info_str() <<
'\n';
174 for (
auto bool_param : vec->bool_params) {
175 stream << bool_param->name_str() <<
'\t' << bool(*bool_param) <<
'\t'
176 << bool_param->info_str() <<
'\n';
178 for (
auto string_param : vec->string_params) {
179 stream << string_param->name_str() <<
'\t' << string_param->c_str() <<
'\t'
180 << string_param->info_str() <<
'\n';
182 for (
auto double_param : vec->double_params) {
183 stream << double_param->name_str() <<
'\t' << (double)(*double_param) <<
'\t'
184 << double_param->info_str() <<
'\n';
187 fprintf(fp,
"%s", stream.str().c_str());
◆ ReadParamsFile()
Definition at line 41 of file params.cpp.
44 if (!fp.Open(
file,
nullptr)) {
void tprintf(const char *format,...)
static bool ReadParamsFromFp(SetParamConstraint constraint, TFile *fp, ParamsVectors *member_params)
◆ ReadParamsFromFp()
Definition at line 51 of file params.cpp.
58 while (fp->FGets(line,
MAX_PATH) !=
nullptr) {
59 if (line[0] !=
'\r' && line[0] !=
'\n' && line[0] !=
'#') {
61 for (valptr = line; *valptr && *valptr !=
' ' && *valptr !=
'\t'; valptr++) {
68 }
while (*valptr ==
' ' || *valptr ==
'\t');
70 foundit =
SetParam(line, valptr, constraint, member_params);
74 tprintf(
"Warning: Parameter not found: %s\n", line);
void chomp_string(char *str)
static bool SetParam(const char *name, const char *value, SetParamConstraint constraint, ParamsVectors *member_params)
◆ RemoveParam()
template<class T >
static void tesseract::ParamUtils::RemoveParam |
( |
T * |
param_ptr, |
|
|
std::vector< T * > * |
vec |
|
) |
| |
|
inlinestatic |
Definition at line 91 of file params.h.
92 for (
auto it = vec->begin(); it != vec->end(); ++it) {
93 if (*it == param_ptr) {
◆ ResetToDefaults()
void tesseract::ParamUtils::ResetToDefaults |
( |
ParamsVectors * |
member_params | ) |
|
|
static |
Definition at line 191 of file params.cpp.
192 int num_iterations = (member_params ==
nullptr) ? 1 : 2;
193 for (
int v = 0; v < num_iterations; ++v) {
194 ParamsVectors *vec = (v == 0) ?
GlobalParams() : member_params;
195 for (
auto ¶m : vec->int_params) {
196 param->ResetToDefault();
198 for (
auto ¶m : vec->bool_params) {
199 param->ResetToDefault();
201 for (
auto ¶m : vec->string_params) {
202 param->ResetToDefault();
204 for (
auto ¶m : vec->double_params) {
205 param->ResetToDefault();
◆ SetParam()
Definition at line 81 of file params.cpp.
86 if (sp !=
nullptr && sp->constraint_ok(constraint)) {
90 return (sp !=
nullptr);
95 if (ip && ip->constraint_ok(constraint)) {
97 std::stringstream stream(value);
98 stream.imbue(std::locale::classic());
100 if (intval != INT_MIN) {
101 ip->set_value(intval);
107 if (bp !=
nullptr && bp->constraint_ok(constraint)) {
108 if (*value ==
'T' || *value ==
't' || *value ==
'Y' || *value ==
'y' || *value ==
'1') {
110 }
else if (*value ==
'F' || *value ==
'f' || *value ==
'N' || *value ==
'n' || *value ==
'0') {
111 bp->set_value(
false);
118 if (dp !=
nullptr && dp->constraint_ok(constraint)) {
119 double doubleval = NAN;
120 std::stringstream stream(value);
121 stream.imbue(std::locale::classic());
123 if (!std::isnan(doubleval)) {
124 dp->set_value(doubleval);
127 return (sp || ip || bp || dp);
The documentation for this class was generated from the following files: