Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends

wibble::commandline::Option Class Reference

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

#include <options.h>

Inheritance diagram for wibble::commandline::Option:
Inheritance graph
[legend]
Collaboration diagram for wibble::commandline::Option:
Collaboration graph
[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.
virtual void parse_noarg ()=0
 Notify that the option is present in the command line, but has no arguments.
virtual bool arg_is_optional () const
 Return true if the argument to this function can be omitted.

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 ( char  c  )  [inline]
void wibble::commandline::Option::addAlias ( const std::string &  str  )  [inline]

References longNames.

virtual bool wibble::commandline::Option::arg_is_optional (  )  const [inline, protected, virtual]

Return true if the argument to this function can be omitted.

Reimplemented in wibble::commandline::SingleOptvalOption< T >.

Referenced by fullUsage(), and fullUsageForMan().

const std::string & wibble::commandline::Option::fullUsage (  )  const

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

References arg_is_optional(), longNames, and shortNames.

std::string wibble::commandline::Option::fullUsageForMan (  )  const
bool wibble::commandline::Option::isSet (  )  const [inline]
const std::string& wibble::commandline::Option::name (  )  const [inline]
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::SingleOptvalOption< T >, and wibble::commandline::VectorOption< T >.

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::SingleOptvalOption< T >, and wibble::commandline::VectorOption< T >.

virtual void wibble::commandline::Option::parse_noarg (  )  [protected, pure virtual]

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

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


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: