31#ifndef ARGS__ARG_IFACE_HPP__INCLUDED
32#define ARGS__ARG_IFACE_HPP__INCLUDED
59 : m_cmdLine( nullptr )
virtual ArgIface * findArgument(const String &name)=0
virtual const String & valueSpecifier() const =0
virtual bool isRequired() const =0
virtual void process(Context &context)=0
Process argument's staff, for example take values from context.
virtual String name() const =0
virtual const String & longDescription() const =0
virtual ArgType type() const =0
virtual const String & argumentName() const =0
virtual bool isWithValue() const =0
virtual void setCmdLine(CmdLine *cmdLine)
Set command line parser.
virtual void checkCorrectnessAfterParsing() const =0
Check correctness of the argument after parsing.
virtual const String & flag() const =0
CmdLine * cmdLine() const
virtual const String & description() const =0
virtual void clear()=0
Clear state of the argument.
virtual bool isDefined() const =0
virtual bool isMisspelledName(const String &name, StringList &possibleNames) const =0
virtual void checkCorrectnessBeforeParsing(StringList &flags, StringList &names) const =0
Check correctness of the argument before parsing.
CmdLine is class that holds all rguments and parse command line arguments in the correspondence with ...
Command in the command line interface.
Context is a list of words in the command line that user presented with interface for interacting wit...
Interface for the groups.
std::string String
String type.
std::vector< String > StringList
List of strings.
ArgType
Type of the argument.
#define DISABLE_COPY(Class)
Macro for disabling copy.