wibble  0.1.28
Public Member Functions | Protected Attributes
wibble::commandline::Parser Class Reference

Generic parser for commandline arguments. More...

#include <parser.h>

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

List of all members.

Public Member Functions

 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.
bool hasNext () const
std::string next ()
- Public Member Functions inherited from wibble::commandline::Engine
const std::string & name () const
Optionadd (Option *o)
 Add an Option to this engine.
OptionGroupadd (OptionGroup *group)
 Add an OptionGroup to this engine.
Engineadd (Engine *o)
 Add a Engine to this engine.
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.
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.
OptionGroupcreateGroup (const std::string &description)
 Create an OptionGroup.
OptionGroupaddGroup (const std::string &description)
 Create an OptionGroup and add it to this engine.
EnginecreateEngine (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.
EngineaddEngine (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.
const std::vector< OptionGroup * > & groups () const
 Get the OptionGroups that have been added to this engine.
const std::vector< Option * > & options () const
 Get the Options that have been added to this engine.
const std::vector< Engine * > & commands () const
 Get the Engines that have been added to this engine.
Enginecommand (const std::string &name) const
bool hasOptions () const
 Returns true if this Engine has options to parse.
EnginefoundCommand () const
 Return the command that has been found in the commandline, or NULL if none have been found.
void dump (std::ostream &out, const std::string &prefix=std::string())
- Public Member Functions inherited from wibble::commandline::Managed
virtual ~Managed ()

Protected Attributes

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
Enginem_found_command

Additional Inherited Members

- 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
- 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'.
ArgList::iterator parseKnownSwitches (ArgList &list, ArgList::iterator begin)
 Parse all known Options and leave the rest in list.
ArgList::iterator parseList (ArgList &list)
 Parse the list of arguments, starting at the beginning and removing the arguments it successfully parses.
ArgList::iterator parse (ArgList &list, ArgList::iterator begin)
 Parse all the switches in list, leaving only the non-switch arguments or the arguments following "--".
 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())

Detailed Description

Generic parser for commandline arguments.


Constructor & Destructor Documentation

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() 
)
inline

Member Function Documentation

bool wibble::commandline::Parser::hasNext ( ) const
inline

References m_args.

std::string wibble::commandline::Parser::next ( )
inline

References m_args.

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

Parse the commandline.

Returns:
true if it also took care of performing the action requested by the user, or false if the caller should do it instead.

Reimplemented in wibble::commandline::StandardParserWithMandatoryCommand, wibble::commandline::StandardParserWithManpage, and wibble::commandline::StandardParser.

References m_args, and wibble::commandline::Engine::parseList().


Member Data Documentation

ArgList wibble::commandline::Parser::m_args
protected

Referenced by hasNext(), next(), and parse().

MemoryManager wibble::commandline::Parser::m_manager
protected

Reimplemented from wibble::commandline::Engine.


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