CLI arguments handler. More...
#include <args.hpp>
Public Member Functions | |
ArgHandler (const anch::cli::App &app, const std::vector< anch::cli::Arg > &options={}) | |
ArgHandler (const std::vector< anch::cli::Arg > &options) | |
virtual | ~ArgHandler () |
anch::cli::ArgHandler & | arg (anch::cli::Arg &arg) |
void | parse (int argc, char **argv) |
void | check () |
void | handle (int argc, char **argv) |
void | printHelp (std::ostream &out) |
void | printVersion (std::ostream &out) |
void | printBanner (std::ostream &out) |
CLI arguments handler.
This class aims to register, parse and check arguments.
If not defined, ArgHandler will add help (-h
and/or --help
) and version options (-v
and/or --version
).
anch::cli::ArgHandler::ArgHandler | ( | const anch::cli::App & | app, |
const std::vector< anch::cli::Arg > & | options = {} ) |
ArgHandler constructor
app | the application informations |
options | the arguments' definition (default to empty std::vector ) |
std::invalid_argument | invalid argument registering |
anch::cli::ArgHandler::ArgHandler | ( | const std::vector< anch::cli::Arg > & | options | ) |
ArgHandler constructor
options | the arguments' definition |
std::invalid_argument | invalid argument registering |
|
virtual |
ArgHandler destructor
anch::cli::ArgHandler & anch::cli::ArgHandler::arg | ( | anch::cli::Arg & | arg | ) |
Register argument
arg | the argument to register |
this
std::invalid_argument | invalid argument registering |
void anch::cli::ArgHandler::check | ( | ) |
Parse command line arguments
std::invalid_argument | invalid or missing argument |
void anch::cli::ArgHandler::handle | ( | int | argc, |
char ** | argv ) |
Parse and check command line arguments
argc | the number of arguments |
argv | the arguments' list |
std::invalid_argument | invalid or missing argument |
void anch::cli::ArgHandler::parse | ( | int | argc, |
char ** | argv ) |
Parse command line arguments
argc | the number of arguments |
argv | the arguments' list |
std::invalid_argument | invalid argument usage |
void anch::cli::ArgHandler::printBanner | ( | std::ostream & | out | ) |
Print banner
out | the output stream to print in |
void anch::cli::ArgHandler::printHelp | ( | std::ostream & | out | ) |
Print help and immediatly exit with return code 0
out | the output stream to print in |
void anch::cli::ArgHandler::printVersion | ( | std::ostream & | out | ) |
Print help and immediatly exit with return code 0
out | the output stream to print in |