wibble 0.1.28
Public Member Functions | Protected Member Functions | Protected Attributes | Friends
wibble::commandline::SingleOption< T > Class Template Reference

#include <options.h>

Inheritance diagram for wibble::commandline::SingleOption< T >:
Inheritance graph
[legend]
Collaboration diagram for wibble::commandline::SingleOption< T >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void setValue (const typename T::value_type &a)
T::value_type value () const
bool boolValue () const
int intValue () const
std::string stringValue () const

Protected Member Functions

 SingleOption (const std::string &name)
 SingleOption (const std::string &name, char shortName, const std::string &longName, const std::string &usage=std::string(), const std::string &description=std::string())
ArgList::iterator parse (ArgList &list, ArgList::iterator begin)
 Parse the next commandline parameter after the short form of the command has been found.
bool parse (const std::string &param)
 Parse the commandline parameter of a long commandline switch.
void parse_noarg ()
 Notify that the option is present in the command line, but has no arguments.

Protected Attributes

T::value_type m_value

Friends

class OptionGroup
class Engine

template<typename T>
class wibble::commandline::SingleOption< T >


Constructor & Destructor Documentation

template<typename T >
wibble::commandline::SingleOption< T >::SingleOption ( const std::string &  name) [inline, protected]
template<typename T >
wibble::commandline::SingleOption< T >::SingleOption ( const std::string &  name,
char  shortName,
const std::string &  longName,
const std::string &  usage = std::string(),
const std::string &  description = std::string() 
) [inline, protected]

Member Function Documentation

template<typename T >
bool wibble::commandline::SingleOption< T >::boolValue ( ) const [inline]
template<typename T >
int wibble::commandline::SingleOption< T >::intValue ( ) const [inline]
template<typename T >
bool wibble::commandline::SingleOption< T >::parse ( const std::string &  param) [inline, protected, virtual]

Parse the commandline parameter of a long commandline switch.

Returns:
true if the parameter has been used

Implements wibble::commandline::Option.

References wibble::commandline::Option::m_isset, wibble::commandline::SingleOption< T >::m_value, and wibble::commandline::SingleOption< T >::parse().

template<typename T >
ArgList::iterator wibble::commandline::SingleOption< T >::parse ( ArgList list,
ArgList::iterator  begin 
) [inline, protected, virtual]

Parse the next commandline parameter after the short form of the command has been found.

It may or may not remove the parameter from the list, depending on if the option wants a value or not.

Signal that the option has been found, with the given argument (or 0 if no argument).

Returns:
true if it used the argument, else false

Implements wibble::commandline::Option.

References wibble::commandline::ArgList::eraseAndAdvance(), wibble::commandline::Option::m_isset, and wibble::commandline::SingleOption< T >::m_value.

Referenced by wibble::commandline::SingleOption< T >::parse().

template<typename T >
void wibble::commandline::SingleOption< T >::parse_noarg ( ) [inline, protected, virtual]

Notify that the option is present in the command line, but has no arguments.

Implements wibble::commandline::Option.

template<typename T >
void wibble::commandline::SingleOption< T >::setValue ( const typename T::value_type &  a) [inline]
template<typename T >
std::string wibble::commandline::SingleOption< T >::stringValue ( ) const [inline]
template<typename T >
T::value_type wibble::commandline::SingleOption< T >::value ( ) const [inline]

Friends And Related Function Documentation

template<typename T >
friend class Engine [friend]

Reimplemented from wibble::commandline::Option.

template<typename T >
friend class OptionGroup [friend]

Reimplemented from wibble::commandline::Option.


Member Data Documentation

template<typename T >
T::value_type wibble::commandline::SingleOption< T >::m_value [protected]

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