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

Class for all kinds of validating groups, including ArgumentParser. More...

#include <args.hxx>

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

Classes

struct  Validators
 Default validators. More...
 

Public Member Functions

 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.
 
virtual FlagBaseMatch (const EitherFlag &flag) override
 Return the first FlagBase that matches flag, or nullptr. More...
 
virtual std::vector< FlagBase * > GetAllFlags () override
 
virtual void Validate (const std::string &shortPrefix, const std::string &longPrefix) const 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< Base * >::size_type MatchedChildren () const
 Count the number of matched children this group has.
 
virtual bool Matched () const noexcept override
 Whether or not this group matches validation.
 
bool Get () const
 Get validation.
 
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 std::vector< std::string > GetProgramLine (const HelpParams &params) const override
 Get the names of positional parameters.
 
virtual std::vector< Command * > GetCommands () override
 
virtual bool IsGroup () const override
 
virtual void Reset () noexcept override
 
- 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.
 

Additional Inherited Members

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

Detailed Description

Class for all kinds of validating groups, including ArgumentParser.

Member Function Documentation

◆ GetNextPositional()

virtual PositionalBase* args::Group::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::Base.

Reimplemented in args::Command.

◆ HasCommand()

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

Get whether this has any Command children.

Returns
Whether or not there are any Command children

Reimplemented from args::Base.

Reimplemented in args::Command.

◆ HasFlag()

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

Get whether this has any FlagBase children.

Returns
Whether or not there are any FlagBase children

Reimplemented from args::Base.

Reimplemented in args::Command.

◆ HasPositional()

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

Get whether this has any PositionalBase children.

Returns
Whether or not there are any PositionalBase children

Reimplemented from args::Base.

Reimplemented in args::Command.

◆ Match()

virtual FlagBase* args::Group::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::Base.

Reimplemented in args::Command.


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