args  6.2.0
A simple single-header C++11 STL-only argument parser library
Classes | Public Member Functions | Protected Member Functions | Friends | List of all members
args::Command Class Reference

Main class for building subparsers. More...

#include <args.hxx>

Inheritance diagram for args::Command:
args::Group args::Base args::ArgumentParser

Classes

class  RaiiSubparser
 

Public Member Functions

 Command (Group &base_, std::string name_, std::string help_, std::function< void(Subparser &)> coroutine_={})
 
const std::string & ProglinePostfix () const
 The description that appears on the prog line after options.
 
void ProglinePostfix (const std::string &proglinePostfix_)
 The description that appears on the prog line after options.
 
const std::string & Description () const
 The description that appears above options.
 
void Description (const std::string &description_)
 The description that appears above options.
 
const std::string & Epilog () const
 The description that appears below options.
 
void Epilog (const std::string &epilog_)
 The description that appears below options.
 
const std::string & Name () const
 The name of command.
 
const std::string & Help () const
 The description of command.
 
void RequireCommand (bool value)
 If value is true, parser will fail if no command was parsed. More...
 
virtual bool IsGroup () const override
 
virtual bool Matched () const noexcept override
 Whether or not this group matches validation.
 
 operator bool () const noexcept
 
void Match () noexcept
 
void SelectCommand (Command *c) noexcept
 
virtual FlagBaseMatch (const EitherFlag &flag) override
 Return the first FlagBase that matches flag, or nullptr. More...
 
virtual std::vector< FlagBase * > GetAllFlags () override
 
virtual PositionalBaseGetNextPositional () override
 Get the next ready positional, or nullptr if there is none. More...
 
virtual bool HasFlag () const override
 Get whether this has any FlagBase children. More...
 
virtual bool HasPositional () const override
 Get whether this has any PositionalBase children. More...
 
virtual bool HasCommand () const override
 Get whether this has any Command children. More...
 
std::vector< std::string > GetCommandProgramLine (const HelpParams &params) const
 
virtual std::vector< std::string > GetProgramLine (const HelpParams &params) const override
 Get the names of positional parameters.
 
virtual std::vector< Command * > GetCommands () override
 
virtual std::vector< std::tuple< std::string, std::string, unsigned > > GetDescription (const HelpParams &params, const unsigned int indent) const override
 Get all the child descriptions for help generation.
 
virtual void Validate (const std::string &shortprefix, const std::string &longprefix) const override
 
virtual void Reset () noexcept override
 
- Public Member Functions inherited from args::Group
 Group (const std::string &help_=std::string(), const std::function< bool(const Group &)> &validator_=Validators::DontCare, Options options_={})
 If help is empty, this group will not be printed in help output.
 
 Group (Group &group_, const std::string &help_=std::string(), const std::function< bool(const Group &)> &validator_=Validators::DontCare, Options options_={})
 If help is empty, this group will not be printed in help output.
 
void Add (Base &child)
 Append a child to this Group.
 
const std::vector< Base * > & Children () const
 Get all this group's children.
 
std::vector< Base * >::size_type MatchedChildren () const
 Count the number of matched children this group has.
 
bool Get () const
 Get validation.
 
- Public Member Functions inherited from args::Base
 Base (const std::string &help_, Options options_={})
 
Options GetOptions () const noexcept
 
bool IsRequired () const noexcept
 
 operator bool () const noexcept
 
virtual std::vector< std::tuple< std::string, std::string, unsigned > > GetDescription (const HelpParams &, const unsigned indentLevel) const
 
void KickOut (bool kickout_) noexcept
 Sets a kick-out value for building subparsers.
 
bool KickOut () const noexcept
 Gets the kick-out value for building subparsers.
 

Protected Member Functions

std::function< void(Subparser &)> & GetCoroutine ()
 
CommandSelectedCommand ()
 
const CommandSelectedCommand () const
 
void UpdateSubparserHelp (const HelpParams &params) const
 

Friends

class Subparser
 

Additional Inherited Members

- Protected Attributes inherited from args::Base
bool matched = false
 
const std::string help
 

Detailed Description

Main class for building subparsers.

/sa Subparser

Member Function Documentation

◆ GetNextPositional()

virtual PositionalBase* args::Command::GetNextPositional ( )
inlineoverridevirtual

Get the next ready positional, or nullptr if there is none.

Returns
the first ready PositionalBase pointer, or nullptr if there is no match

Reimplemented from args::Group.

◆ HasCommand()

virtual bool args::Command::HasCommand ( ) const
inlineoverridevirtual

Get whether this has any Command children.

Returns
Whether or not there are any Command children

Reimplemented from args::Group.

◆ HasFlag()

virtual bool args::Command::HasFlag ( ) const
inlineoverridevirtual

Get whether this has any FlagBase children.

Returns
Whether or not there are any FlagBase children

Reimplemented from args::Group.

◆ HasPositional()

virtual bool args::Command::HasPositional ( ) const
inlineoverridevirtual

Get whether this has any PositionalBase children.

Returns
Whether or not there are any PositionalBase children

Reimplemented from args::Group.

◆ Match()

virtual FlagBase* args::Command::Match ( const EitherFlag flag)
inlineoverridevirtual

Return the first FlagBase that matches flag, or nullptr.

Parameters
flagThe flag with prefixes stripped
Returns
the first matching FlagBase pointer, or nullptr if there is no match

Reimplemented from args::Group.

◆ RequireCommand()

void args::Command::RequireCommand ( bool  value)
inline

If value is true, parser will fail if no command was parsed.

Default: true.


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