wibble 1.1
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
wibble::commandline::SingleOptvalOption< T > Class Template Reference

Single option whose value can be or not be specified. More...

#include <options.h>

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

Public Member Functions

bool hasValue () const
 
void setValue (const typename T::value_type &a)
 
T::value_type value () const
 
- Public Member Functions inherited from wibble::commandline::Option
 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 Member Functions inherited from wibble::commandline::Managed
virtual ~Managed ()
 

Protected Member Functions

 SingleOptvalOption (const std::string &name)
 
 SingleOptvalOption (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.
 
virtual bool arg_is_optional () const
 Return true if the argument to this function can be omitted.
 
- Protected Member Functions inherited from wibble::commandline::Option
 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())
 

Protected Attributes

T::value_type m_value
 
bool m_hasval
 
- Protected Attributes inherited from wibble::commandline::Option
bool m_isset
 

Friends

class OptionGroup
 
class Engine
 

Additional Inherited Members

- Public Attributes inherited from wibble::commandline::Option
std::vector< charshortNames
 
std::vector< std::string > longNames
 
std::string usage
 
std::string description
 
bool hidden
 

Detailed Description

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

Single option whose value can be or not be specified.

It works for long option style only: short options with an optional argument would be ambiguous.

Constructor & Destructor Documentation

◆ SingleOptvalOption() [1/2]

template<typename T >
wibble::commandline::SingleOptvalOption< T >::SingleOptvalOption ( const std::string &  name)
inlineprotected

◆ SingleOptvalOption() [2/2]

template<typename T >
wibble::commandline::SingleOptvalOption< T >::SingleOptvalOption ( const std::string &  name,
char  shortName,
const std::string &  longName,
const std::string &  usage = std::string(),
const std::string &  description = std::string() 
)
inlineprotected

Member Function Documentation

◆ arg_is_optional()

template<typename T >
virtual bool wibble::commandline::SingleOptvalOption< T >::arg_is_optional ( ) const
inlineprotectedvirtual

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

Reimplemented from wibble::commandline::Option.

◆ hasValue()

template<typename T >
bool wibble::commandline::SingleOptvalOption< T >::hasValue ( ) const
inline

◆ parse() [1/2]

template<typename T >
ArgList::iterator wibble::commandline::SingleOptvalOption< T >::parse ( ArgList list,
ArgList::iterator  begin 
)
inlineprotectedvirtual

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.

◆ parse() [2/2]

template<typename T >
bool wibble::commandline::SingleOptvalOption< T >::parse ( const std::string &  param)
inlineprotectedvirtual

Parse the commandline parameter of a long commandline switch.

Returns
true if the parameter has been used

Implements wibble::commandline::Option.

References wibble::commandline::SingleOptvalOption< T >::m_hasval, wibble::commandline::Option::m_isset, and wibble::commandline::SingleOptvalOption< T >::m_value.

◆ parse_noarg()

template<typename T >
void wibble::commandline::SingleOptvalOption< T >::parse_noarg ( )
inlineprotectedvirtual

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

Implements wibble::commandline::Option.

References wibble::commandline::SingleOptvalOption< T >::m_hasval, and wibble::commandline::Option::m_isset.

◆ setValue()

template<typename T >
void wibble::commandline::SingleOptvalOption< T >::setValue ( const typename T::value_type &  a)
inline

◆ value()

template<typename T >
T::value_type wibble::commandline::SingleOptvalOption< T >::value ( ) const
inline

Friends And Related Symbol Documentation

◆ Engine

template<typename T >
friend class Engine
friend

◆ OptionGroup

template<typename T >
friend class OptionGroup
friend

Member Data Documentation

◆ m_hasval

template<typename T >
bool wibble::commandline::SingleOptvalOption< T >::m_hasval
protected

◆ m_value

template<typename T >
T::value_type wibble::commandline::SingleOptvalOption< T >::m_value
protected

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