Templated version based on CCmdOptionValue for values that can be converted to and from strings by stream operators. More...
#include <mia/core/cmdparamoption.hh>
Public Member Functions | |
TCmdOption (T &val, char short_opt, const char *long_opt, const char *long_help, const char *short_help, CCmdOptionFlags flags=CCmdOptionFlags::none) | |
Public Member Functions inherited from CCmdOption | |
void | add_option (CShortoptionMap &sm, CLongoptionMap &lm) |
void | add_option_xml (CXMLElement &parent, HandlerHelpMap &handler_map) const |
CCmdOption (char short_opt, const char *long_opt, const char *long_help, const char *short_help, CCmdOptionFlags flags) | |
void | get_long_help (std::ostream &os) const |
std::string | get_long_help_xml (CXMLElement &parent, HandlerHelpMap &handler_map) const |
const char * | get_long_option () const |
size_t | get_needed_args () const |
void | get_opt_help (std::ostream &os) const |
char | get_short_option () const |
const std::string | get_value_as_string () const |
bool | is_required () const |
const char * | long_help () const |
void | post_set () |
void | print_short_help (std::ostream &os) const |
void | set_value (const char *str_value) |
void | write_value (std::ostream &os) const |
virtual | ~CCmdOption () |
ensure virtual destruction More... | |
Additional Inherited Members | |
Protected Member Functions inherited from CCmdOption | |
void | clear_required () |
clear the "required" flag More... | |
virtual void | do_get_long_help (std::ostream &os) const |
bool | has_flag (CCmdOptionFlags test_flags) const |
void | xmlhelp_set_attribute (CXMLElement &node, const char *name, const std::string &value) const |
Templated version based on CCmdOptionValue for values that can be converted to and from strings by stream operators.
Templated implementation of a command line option to hold a value of type T.
T | value parameter, the type T has to support the operators "std::ostream& operator << (std::ostream& os, T x)" and "std::istream& operator >> (std::istream& os, T x)" must be defined. f the string passed to the option for translation can not be translation to a value of type T, the set_value method will throw a std::invalid_argument exception If T is of type template < typename R > std::vector < R >, the list of N values needs to be given like value1,value2,...,valueN. |
Definition at line 49 of file cmdparamoption.hh.
TCmdOption< T >::TCmdOption | ( | T & | val, |
char | short_opt, | ||
const char * | long_opt, | ||
const char * | long_help, | ||
const char * | short_help, | ||
CCmdOptionFlags | flags = CCmdOptionFlags::none |
||
) |
Constructor of the command option
[in,out] | val | variable to hold the parsed option value - pass in the default value - exception: bool values always default to false |
short_opt | short option name (or 0) | |
long_opt | long option name (must not be NULL) | |
long_help | long help string (must not be NULL) | |
short_help | short help string | |
flags | support options like required |
Definition at line 317 of file cmdparamoption.hh.
References CCmdOption::do_get_long_help(), CCmdOption::is_required(), and CCmdOption::xmlhelp_set_attribute().