args
6.2.0
A simple single-header C++11 STL-only argument parser library
|
Utility class for building subparsers with coroutines/callbacks. More...
#include <args.hxx>
Public Member Functions | |
Subparser (std::vector< std::string > args_, ArgumentParser &parser_, const Command &command_, const HelpParams &helpParams_) | |
Subparser (const Command &command_, const HelpParams &helpParams_) | |
Subparser (const Subparser &)=delete | |
Subparser (Subparser &&)=delete | |
Subparser & | operator= (const Subparser &)=delete |
Subparser & | operator= (Subparser &&)=delete |
const Command & | GetCommand () |
bool | IsParsed () const |
(INTERNAL) Determines whether Parse was called or not. | |
void | Parse () |
Continue parsing arguments for new command. | |
const std::vector< std::string > & | KickedOut () const noexcept |
Returns a vector of kicked out arguments. More... | |
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. | |
virtual FlagBase * | Match (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 PositionalBase * | GetNextPositional () 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 ¶ms, const unsigned int indent) const override |
Get all the child descriptions for help generation. | |
virtual std::vector< std::string > | GetProgramLine (const HelpParams ¶ms) 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 |
Utility class for building subparsers with coroutines/callbacks.
Brief example:
For ARGS_NOEXCEPT mode don't forget to check s.GetError()
after s.Parse()
and return if it isn't equals to args::Error::None.
|
inlinenoexcept |
Returns a vector of kicked out arguments.