args  6.2.0
A simple single-header C++11 STL-only argument parser library
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
args::FlagBase Class Referenceabstract

Base class for all flag options. More...

#include <args.hxx>

Inheritance diagram for args::FlagBase:
args::NamedBase args::Base args::ActionFlag args::Flag args::NargsValueFlag< T, List, Reader > args::ValueFlagBase args::CounterFlag args::HelpFlag args::ValueFlag< T, ValueReader > args::CompletionFlag args::MapFlag< K, T, Reader, Map > args::MapFlagList< K, T, List, Reader, Map > args::ValueFlag< T, Reader > args::ValueFlagList< T, List, Reader >

Public Member Functions

 FlagBase (const std::string &name_, const std::string &help_, Matcher &&matcher_, const bool extraError_=false)
 
 FlagBase (const std::string &name_, const std::string &help_, Matcher &&matcher_, Options options_)
 
virtual FlagBaseMatch (const EitherFlag &flag) override
 
virtual std::vector< FlagBase * > GetAllFlags () override
 
const MatcherGetMatcher () const
 
virtual void Validate (const std::string &shortPrefix, const std::string &longPrefix) const override
 
virtual std::vector< std::string > GetProgramLine (const HelpParams &params) const override
 
virtual bool HasFlag () const override
 
virtual Nargs NumberOfArguments () const noexcept=0
 Defines how many values can be consumed by this option. More...
 
virtual void ParseValue (const std::vector< std::string > &value)=0
 Parse values of this option. More...
 
- Public Member Functions inherited from args::NamedBase
 NamedBase (const std::string &name_, const std::string &help_, Options options_={})
 
void HelpDefault (const std::string &str)
 Sets default value string that will be added to argument description. More...
 
std::string HelpDefault (const HelpParams &params) const
 Gets default value string that will be added to argument description.
 
void HelpChoices (const std::vector< std::string > &array)
 Sets choices strings that will be added to argument description. More...
 
std::vector< std::string > HelpChoices (const HelpParams &params) const
 Gets choices strings that will be added to argument description.
 
virtual std::vector< std::tuple< std::string, std::string, unsigned > > GetDescription (const HelpParams &params, const unsigned indentLevel) const override
 
virtual std::string Name () const
 
- Public Member Functions inherited from args::Base
 Base (const std::string &help_, Options options_={})
 
Options GetOptions () const noexcept
 
bool IsRequired () const noexcept
 
virtual bool Matched () const noexcept
 
 operator bool () const noexcept
 
virtual std::vector< Command * > GetCommands ()
 
virtual bool IsGroup () const
 
virtual PositionalBaseGetNextPositional ()
 
virtual bool HasPositional () const
 
virtual bool HasCommand () 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.
 
virtual void Reset () noexcept
 

Protected Member Functions

virtual std::string GetNameString (const HelpParams &params) const override
 
- Protected Member Functions inherited from args::NamedBase
virtual std::string GetDefaultString (const HelpParams &) const
 
virtual std::vector< std::string > GetChoicesStrings (const HelpParams &) const
 
void AddDescriptionPostfix (std::string &dest, const bool isManual, const std::string &manual, bool isGenerated, const std::string &generated, const std::string &str) const
 

Protected Attributes

const Matcher matcher
 
- Protected Attributes inherited from args::NamedBase
const std::string name
 
bool kickout = false
 
std::string defaultString
 
bool defaultStringManual = false
 
std::vector< std::string > choicesStrings
 
bool choicesStringManual = false
 
- Protected Attributes inherited from args::Base
bool matched = false
 
const std::string help
 

Detailed Description

Base class for all flag options.

Member Function Documentation

◆ NumberOfArguments()

virtual Nargs args::FlagBase::NumberOfArguments ( ) const
pure virtualnoexcept

Defines how many values can be consumed by this option.

Returns
closed interval [min, max]

Implemented in args::NargsValueFlag< T, List, Reader >, args::ImplicitValueFlag< T, Reader >, args::ActionFlag, args::Flag, args::CompletionFlag, and args::ValueFlagBase.

◆ ParseValue()

virtual void args::FlagBase::ParseValue ( const std::vector< std::string > &  value)
pure virtual

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