wibble::commandline::Option Class Reference

Interface for a parser for one commandline option. More...

#include <options.h>

Inheritance diagram for wibble::commandline::Option:
[legend]
Collaboration diagram for wibble::commandline::Option:
[legend]

List of all members.

Public Member Functions

 Option ()
virtual ~Option ()
bool isSet () const
const std::string & name () const
void addAlias (char c)
void addAlias (const std::string &str)
const std::string & fullUsage () const
 Return a full usage message including all the aliases for this option.
std::string fullUsageForMan () const

Public Attributes

std::vector< char > shortNames
std::vector< std::string > longNames
std::string usage
std::string description
bool hidden

Protected Member Functions

 Option (const std::string &name)
 Option (const std::string &name, char shortName, const std::string &longName, const std::string &usage=std::string(), const std::string &description=std::string())
virtual ArgList::iterator parse (ArgList &list, ArgList::iterator begin)=0
 Parse the next commandline parameter after the short form of the command has been found.
virtual bool parse (const std::string &param)=0
 Parse the commandline parameter of a long commandline switch.

Protected Attributes

bool m_isset

Friends

class OptionGroup
class Engine

Detailed Description

Interface for a parser for one commandline option.


Constructor & Destructor Documentation

wibble::commandline::Option::Option ( const std::string &  name  )  [inline, protected]
wibble::commandline::Option::Option ( const std::string &  name,
char  shortName,
const std::string &  longName,
const std::string &  usage = std::string(),
const std::string &  description = std::string() 
) [inline, protected]

References longNames, and shortNames.

wibble::commandline::Option::Option (  ) 
virtual wibble::commandline::Option::~Option (  )  [inline, virtual]

Member Function Documentation

void wibble::commandline::Option::addAlias ( const std::string &  str  )  [inline]

References longNames.

void wibble::commandline::Option::addAlias ( char  c  )  [inline]
const std::string & wibble::commandline::Option::fullUsage (  )  const

Return a full usage message including all the aliases for this option.

References longNames, and shortNames.

std::string wibble::commandline::Option::fullUsageForMan (  )  const

References longNames, and shortNames.

bool wibble::commandline::Option::isSet (  )  const [inline]
const std::string& wibble::commandline::Option::name (  )  const [inline]
virtual bool wibble::commandline::Option::parse ( const std::string &  param  )  [protected, pure virtual]

Parse the commandline parameter of a long commandline switch.

Returns:
true if the parameter has been used

Implemented in wibble::commandline::BoolOption, wibble::commandline::SingleOption< T >, wibble::commandline::VectorOption< T >, and wibble::commandline::SingleOption< Int >.

virtual ArgList::iterator wibble::commandline::Option::parse ( ArgList list,
ArgList::iterator  begin 
) [protected, pure 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

Implemented in wibble::commandline::BoolOption, wibble::commandline::SingleOption< T >, wibble::commandline::VectorOption< T >, and wibble::commandline::SingleOption< Int >.


Friends And Related Function Documentation

friend class Engine [friend]
friend class OptionGroup [friend]

Member Data Documentation

std::vector<std::string> wibble::commandline::Option::longNames

The documentation for this class was generated from the following files:
Generated on Tue May 11 16:37:43 2010 for wibble by  doxygen 1.6.3