TCmdOption< T > Class Template Reference
Command line and parameter parsing

Templated version based on CCmdOptionValue for values that can be converted to and from strings by stream operators. More...

`#include <mia/core/cmdparamoption.hh>`

Inheritance diagram for TCmdOption< T >:
[legend]
Collaboration diagram for TCmdOption< T >:
[legend]

## 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

## Additional Inherited Members

Protected Member Functions inherited from CCmdOption
void | clear_required ()
| clear the "required" flag
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

## Detailed Description

template<typename T>
class TCmdOption< T >

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.

Template Parameters

  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.

## Constructor & Destructor Documentation

## TCmdOption()

template<typename T>

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

Parameters

  [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 346 of file cmdparamoption.hh.

References CCmdOption::CCmdOption(), and CCmdOption::long_help().

The documentation for this class was generated from the following file:

- cmdparamoption.hh