wibble  1.1
Public Member Functions | Public Attributes | List of all members
wibble::commandline::StandardParserWithMandatoryCommand Class Reference

Parser for commandline arguments, with builting help functions and manpage generation, and requiring a mandatory command. More...

#include <parser.h>

Inheritance diagram for wibble::commandline::StandardParserWithMandatoryCommand:
Inheritance graph
[legend]
Collaboration diagram for wibble::commandline::StandardParserWithMandatoryCommand:
Collaboration graph
[legend]

Public Member Functions

 StandardParserWithMandatoryCommand (const std::string &appname, const std::string &version, int section, const std::string &author)
 
bool parse (int argc, const char *argv[])
 
- Public Member Functions inherited from wibble::commandline::StandardParserWithManpage
 StandardParserWithManpage (const std::string &appname, const std::string &version, int section, const std::string &author)
 
bool parse (int argc, const char *argv[])
 
- Public Member Functions inherited from wibble::commandline::StandardParser
 StandardParser (const std::string &appname, const std::string &version)
 
void outputHelp (std::ostream &out)
 
bool parse (int argc, const char *argv[])
 
- Public Member Functions inherited from wibble::commandline::Parser
 Parser (const std::string &name, const std::string &usage=std::string(), const std::string &description=std::string(), const std::string &longDescription=std::string())
 
bool parse (int argc, const char *argv[])
 Parse the commandline. More...
 
bool hasNext () const
 
std::string next ()
 
- Public Member Functions inherited from wibble::commandline::Engine
const std::string & name () const
 
Option * add (Option *o)
 Add an Option to this engine. More...
 
OptionGroup * add (OptionGroup *group)
 Add an OptionGroup to this engine. More...
 
Engine * add (Engine *o)
 Add a Engine to this engine. More...
 
template<typename T >
T * create (const std::string &name, char shortName, const std::string &longName, const std::string &usage=std::string(), const std::string &description=std::string())
 Create an option. More...
 
template<typename T >
T * add (const std::string &name, char shortName, const std::string &longName, const std::string &usage=std::string(), const std::string &description=std::string())
 Create an option and add to this engine. More...
 
OptionGroup * createGroup (const std::string &description)
 Create an OptionGroup. More...
 
OptionGroup * addGroup (const std::string &description)
 Create an OptionGroup and add it to this engine. More...
 
Engine * createEngine (const std::string &name, const std::string &usage=std::string(), const std::string &description=std::string(), const std::string &longDescription=std::string())
 Create a Engine. More...
 
Engine * addEngine (const std::string &name, const std::string &usage=std::string(), const std::string &description=std::string(), const std::string &longDescription=std::string())
 Create a Engine and add it to this engine as a command. More...
 
const std::vector< OptionGroup * > & groups () const
 Get the OptionGroups that have been added to this engine. More...
 
const std::vector< Option * > & options () const
 Get the Options that have been added to this engine. More...
 
const std::vector< Engine * > & commands () const
 Get the Engines that have been added to this engine. More...
 
Engine * command (const std::string &name) const
 
bool hasOptions () const
 Returns true if this Engine has options to parse. More...
 
Engine * foundCommand () const
 Return the command that has been found in the commandline, or NULL if none have been found. More...
 
void dump (std::ostream &out, const std::string &prefix=std::string())
 
- Public Member Functions inherited from wibble::commandline::Managed
virtual ~Managed ()
 

Public Attributes

Engine * helpCommand
 
- Public Attributes inherited from wibble::commandline::StandardParserWithManpage
StringOption * manpage
 
- Public Attributes inherited from wibble::commandline::StandardParser
OptionGroup * helpGroup
 
BoolOption * help
 
BoolOption * version
 
- Public Attributes inherited from wibble::commandline::Engine
std::string primaryAlias
 
std::vector< std::string > aliases
 
std::string usage
 
std::string description
 
std::string longDescription
 
std::string examples
 
bool hidden
 
bool no_switches_after_first_arg
 

Additional Inherited Members

- Protected Member Functions inherited from wibble::commandline::Engine
void addWithoutAna (Option *o)
 
void addWithoutAna (const std::vector< Option *> &o)
 
void add (const std::string &alias, Engine *o)
 
void rebuild ()
 
std::pair< ArgList::iterator, bool > parseFirstIfKnown (ArgList &list, ArgList::iterator begin)
 Handle the commandline switch at 'begin'. More...
 
ArgList::iterator parseKnownSwitches (ArgList &list, ArgList::iterator begin)
 Parse all known Options and leave the rest in list. More...
 
ArgList::iterator parseList (ArgList &list)
 Parse the list of arguments, starting at the beginning and removing the arguments it successfully parses. More...
 
ArgList::iterator parse (ArgList &list, ArgList::iterator begin)
 Parse all the switches in list, leaving only the non-switch arguments or the arguments following "--". More...
 
 Engine (MemoryManager *mman=0, const std::string &name=std::string(), const std::string &usage=std::string(), const std::string &description=std::string(), const std::string &longDescription=std::string())
 
- Protected Attributes inherited from wibble::commandline::StandardParserWithManpage
int m_section
 
std::string m_author
 
- Protected Attributes inherited from wibble::commandline::StandardParser
std::string m_version
 
- Protected Attributes inherited from wibble::commandline::Parser
ArgList m_args
 
MemoryManager m_manager
 
- Protected Attributes inherited from wibble::commandline::Engine
std::vector< OptionGroup * > m_groups
 
std::vector< Option * > m_options
 
std::vector< Engine * > m_commands
 
std::map< char, Option * > m_short
 
std::map< std::string, Option * > m_long
 
std::map< std::string, Engine * > m_aliases
 
Engine * m_found_command
 

Detailed Description

Parser for commandline arguments, with builting help functions and manpage generation, and requiring a mandatory command.

Constructor & Destructor Documentation

◆ StandardParserWithMandatoryCommand()

wibble::commandline::StandardParserWithMandatoryCommand::StandardParserWithMandatoryCommand ( const std::string &  appname,
const std::string &  version,
int  section,
const std::string &  author 
)
inline

Member Function Documentation

◆ parse()

bool wibble::commandline::StandardParserWithMandatoryCommand::parse ( int  argc,
const char *  argv[] 
)

Member Data Documentation

◆ helpCommand

Engine* wibble::commandline::StandardParserWithMandatoryCommand::helpCommand

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