Command Line Parser
CommandLineParser
-
class CommandLineParser
The CommandLineParser class is designed for command line arguments parsing
-
C++: CommandLineParser::CommandLineParser(int argc, const char* const argv[], const String& keys)
-
-
C++: template<typename T> T CommandLineParser::get<T>(const String& name, bool space_delete=true)
-
-
C++: template<typename T> T CommandLineParser::get<T>(int index, bool space_delete=true)
-
-
C++: bool CommandLineParser::has(const String& name)
-
-
C++: bool CommandLineParser::check()
-
C++: void CommandLineParser::about(const String& message)
-
-
C++: void CommandLineParser::printMessage()
-
C++: void CommandLineParser::printErrors()
-
C++: String CommandLineParser::getPathToApplication()
The sample below demonstrates how to use CommandLineParser:
CommandLineParser parser(argc, argv, keys);
parser.about("Application name v1.0.0");
if (parser.has("help"))
{
parser.printMessage();
return 0;
}
int N = parser.get<int>("N");
double fps = parser.get<double>("fps");
String path = parser.get<String>("path");
use_time_stamp = parser.has("timestamp");
String img1 = parser.get<String>(0);
String img2 = parser.get<String>(1);
int repeat = parser.get<int>(2);
if (!parser.check())
{
parser.printErrors();
return 0;
}
Syntax:
const String keys =
"{help h usage ? | | print this message }"
"{@image1 | | image1 for compare }"
"{@image2 | | image2 for compare }"
"{@repeat |1 | number }"
"{path |. | path to file }"
"{fps | -1.0 | fps for output video }"
"{N count |100 | count of objects }"
"{ts timestamp | | use time stamp }"
;
Use:
# ./app -N=200 1.png 2.jpg 19 -ts
# ./app -fps=aaa
ERRORS:
Exception: can not convert: [aaa] to [double]
Help and Feedback
You did not find what you were looking for?
- Ask a question on the Q&A forum.
- If you think something is missing or wrong in the documentation,
please file a bug report.