tesseract
5.0.0-alpha-619-ge9db
commandlineflags.h
Go to the documentation of this file.
1
/**********************************************************************
2
* File: commandlineflags.h
3
* Description: Header file for commandline flag parsing.
4
* Author: Ranjith Unnikrishnan
5
*
6
* (C) Copyright 2013, Google Inc.
7
** Licensed under the Apache License, Version 2.0 (the "License");
8
** you may not use this file except in compliance with the License.
9
** You may obtain a copy of the License at
10
** http://www.apache.org/licenses/LICENSE-2.0
11
** Unless required by applicable law or agreed to in writing, software
12
** distributed under the License is distributed on an "AS IS" BASIS,
13
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
** See the License for the specific language governing permissions and
15
** limitations under the License.
16
*
17
**********************************************************************/
18
#ifndef TESSERACT_TRAINING_COMMANDLINEFLAGS_H_
19
#define TESSERACT_TRAINING_COMMANDLINEFLAGS_H_
20
21
#ifndef GOOGLE_TESSERACT
22
23
#include <cstdlib>
24
#include "
params.h
"
25
26
#define INT_PARAM_FLAG(name, val, comment) \
27
INT_VAR(FLAGS_##name, val, comment)
28
#define DECLARE_INT_PARAM_FLAG(name) \
29
extern INT_VAR_H(FLAGS_##name, 0, "")
30
#define DOUBLE_PARAM_FLAG(name, val, comment) \
31
double_VAR(FLAGS_##name, val, comment)
32
#define DECLARE_DOUBLE_PARAM_FLAG(name) \
33
extern double_VAR_H(FLAGS_##name, "", "")
34
#define BOOL_PARAM_FLAG(name, val, comment) \
35
BOOL_VAR(FLAGS_##name, val, comment)
36
#define DECLARE_BOOL_PARAM_FLAG(name) \
37
extern BOOL_VAR_H(FLAGS_##name, 0, "")
38
#define STRING_PARAM_FLAG(name, val, comment) \
39
STRING_VAR(FLAGS_##name, val, comment)
40
#define DECLARE_STRING_PARAM_FLAG(name) \
41
extern STRING_VAR_H(FLAGS_##name, "", "")
42
43
#else
44
45
#include "base/commandlineflags.h"
46
#define INT_PARAM_FLAG(name, val, comment) \
47
DEFINE_int32(name, val, comment)
48
#define DECLARE_INT_PARAM_FLAG(name) \
49
DECLARE_int32(name)
50
#define DOUBLE_PARAM_FLAG(name, val, comment) \
51
DEFINE_double(name, val, comment)
52
#define DECLARE_DOUBLE_PARAM_FLAG(name) \
53
DECLARE_double(name)
54
#define BOOL_PARAM_FLAG(name, val, comment) \
55
DEFINE_bool(name, val, comment)
56
#define DECLARE_BOOL_PARAM_FLAG(name) \
57
DECLARE_bool(name)
58
#define STRING_PARAM_FLAG(name, val, comment) \
59
DEFINE_string(name, val, comment)
60
#define DECLARE_STRING_PARAM_FLAG(name) \
61
DECLARE_string(name)
62
63
#endif
64
65
// Flags from commontraining.cpp
66
// Command line arguments for font_properties, xheights and unicharset.
67
DECLARE_INT_PARAM_FLAG
(debug_level);
68
DECLARE_STRING_PARAM_FLAG
(D);
69
DECLARE_STRING_PARAM_FLAG
(F);
70
DECLARE_STRING_PARAM_FLAG
(O);
71
DECLARE_STRING_PARAM_FLAG
(U);
72
DECLARE_STRING_PARAM_FLAG
(X);
73
DECLARE_STRING_PARAM_FLAG
(fonts_dir);
74
DECLARE_STRING_PARAM_FLAG
(fontconfig_tmpdir);
75
DECLARE_STRING_PARAM_FLAG
(output_trainer);
76
DECLARE_STRING_PARAM_FLAG
(test_ch);
77
78
namespace
tesseract
{
79
80
// Parse commandline flags and values. Prints the usage string and exits on
81
// input of --help or --version.
82
//
83
// If remove_flags is true, the argv pointer is advanced so that (*argv)[1]
84
// points to the first non-flag argument, (*argv)[0] points to the same string
85
// as before, and argc is decremented to reflect the new shorter length of argv.
86
// eg. If the input *argv is
87
// { "program", "--foo=4", "--bar=true", "file1", "file2" } with *argc = 5, the
88
// output *argv is { "program", "file1", "file2" } with *argc = 3
89
void
ParseCommandLineFlags
(
const
char
* usage,
int
* argc,
90
char
*** argv,
const
bool
remove_flags);
91
92
}
93
94
#endif // TESSERACT_TRAINING_COMMANDLINEFLAGS_H_
DECLARE_STRING_PARAM_FLAG
#define DECLARE_STRING_PARAM_FLAG(name)
Definition:
commandlineflags.h:39
DECLARE_INT_PARAM_FLAG
#define DECLARE_INT_PARAM_FLAG(name)
Definition:
commandlineflags.h:27
params.h
tesseract::ParseCommandLineFlags
void ParseCommandLineFlags(const char *usage, int *argc, char ***argv, const bool remove_flags)
Definition:
commandlineflags.cpp:166
tesseract
Definition:
baseapi.h:65
src
training
commandlineflags.h
Generated on Thu Jan 30 2020 14:22:21 for tesseract by
1.8.16