theplu::yat::utility::OptionArg< T > Class Template Reference

Option with argument. More...

#include <yat/utility/OptionArg.h>

Inheritance diagram for theplu::yat::utility::OptionArg< T >:

theplu::yat::utility::Option

List of all members.

Public Member Functions

 OptionArg (CommandLine &cmd, std::string name, std::string desc, bool required=false)
 Constructor.
void print_arg (std::string arg)
value (void) const
void value (T v)
 set value
std::string description (void) const
std::string long_name (void) const
void parse (std::vector< std::string >::iterator &, const std::vector< std::string >::iterator &)
 parsing the commandline
bool present (void) const
 Get if option was found in cmd.
std::string print (void)
 print help output
void reset (void)
 sets present to false
char short_name (void) const
void validate (void)
 Validate the Option.

Protected Member Functions

bool required (void) const
const CommandLinecmd (void) const


Detailed Description

template<typename T>
class theplu::yat::utility::OptionArg< T >

Option with argument.

If the option is present, argument is set during parsing. Supported formats are both gnu-style "--support-gnu=value", POSIX-like "--support-posix value", as well as shorter "-s value". The argument of an parameter is retrived by the value() function


Constructor & Destructor Documentation

template<typename T>
theplu::yat::utility::OptionArg< T >::OptionArg ( CommandLine cmd,
std::string  name,
std::string  desc,
bool  required = false 
) [inline]

Constructor.

Parameters:
cmd Commandline Option is associated with
name string such as "help" for --help, "h" for -h or "h,help" for having both short and long option name
desc string used in help display
required If true option must be found in commandline or exception is thrown in validation


Member Function Documentation

template<typename T>
void theplu::yat::utility::OptionArg< T >::print_arg ( std::string  arg  )  [inline]

Parameters:
arg string to be used in help output such as `=TARGET' in `--target=TARGET'. See print3().
Since:
New in yat 0.5.

template<typename T>
T theplu::yat::utility::OptionArg< T >::value ( void   )  const [inline]

Returns:
value

template<typename T>
void theplu::yat::utility::OptionArg< T >::value ( v  )  [inline]

set value

Since:
new in yat 0.5

template<typename T>
bool theplu::yat::utility::OptionArg< T >::required ( void   )  const [inline, protected]

Returns:
true if Option is required, i.e., if Option is not found during parsing an exception will be thrown.

std::string theplu::yat::utility::Option::description ( void   )  const [inherited]

Returns:
description

std::string theplu::yat::utility::Option::long_name ( void   )  const [inherited]

Returns:
long name e.g. 'help' for --help option.

bool theplu::yat::utility::Option::present ( void   )  const [inherited]

Get if option was found in cmd.

Returns:
true if option has been detected in parsing

std::string theplu::yat::utility::Option::print ( void   )  [inherited]

print help output

This function calls the four virtual private functions print1, print2, print3, and print4. This allows an inherited class to implement one (or several) of these functions and keep the default output of the others. The default behavior is that:

char theplu::yat::utility::Option::short_name ( void   )  const [inherited]

Returns:
short name e.g. 'h' for -h option.

void theplu::yat::utility::Option::validate ( void   )  [inherited]

Validate the Option.

This function is called after commandline is parsed.

const CommandLine& theplu::yat::utility::Option::cmd ( void   )  const [protected, inherited]

Returns:
const reference to CommandLine Option belongs to.


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

Generated on Tue Jan 18 02:20:11 2011 for yat by  doxygen 1.5.5