Public Member Functions | Protected Attributes | List of all members
ecl::MultiSwitchArg Class Reference

#include <multi_switch_arg.hpp>

Inheritance diagram for ecl::MultiSwitchArg:
Inheritance graph
[legend]

Public Member Functions

int getValue ()
 
std::string longID (const std::string &val) const
 
 MultiSwitchArg (const std::string &flag, const std::string &name, const std::string &desc, CmdLineInterface &parser, int init=0, Visitor *v=NULL)
 
 MultiSwitchArg (const std::string &flag, const std::string &name, const std::string &desc, int init=0, Visitor *v=NULL)
 
virtual bool processArg (int *i, std::vector< std::string > &args)
 
std::string shortID (const std::string &val) const
 
- Public Member Functions inherited from ecl::SwitchArg
bool combinedSwitchesMatch (std::string &combined)
 
bool getValue ()
 
 SwitchArg (const std::string &flag, const std::string &name, const std::string &desc, bool def=false, Visitor *v=NULL)
 
 SwitchArg (const std::string &flag, const std::string &name, const std::string &desc, CmdLineInterface &parser, bool def=false, Visitor *v=NULL)
 
- Public Member Functions inherited from ecl::Arg
bool _hasBlanks (const std::string &s) const
 
virtual bool acceptsMultipleValues ()
 
virtual void addToList (std::list< Arg * > &argList) const
 
virtual bool allowMore ()
 
virtual bool argMatches (const std::string &s) const
 
void forceRequired ()
 
std::string getDescription () const
 
const std::string & getFlag () const
 
const std::string & getName () const
 
bool isIgnoreable () const
 
virtual bool isRequired () const
 
bool isSet () const
 
bool isValueRequired () const
 
virtual bool operator== (const Arg &a) const
 
void setRequireLabel (const std::string &s)
 
virtual std::string toString () const
 
virtual void trimFlag (std::string &flag, std::string &value) const
 
void xorSet ()
 
virtual ~Arg ()
 

Protected Attributes

int _value
 
- Protected Attributes inherited from ecl::SwitchArg
bool _value
 
- Protected Attributes inherited from ecl::Arg
bool _acceptsMultipleValues
 
bool _alreadySet
 
std::string _description
 
std::string _flag
 
bool _ignoreable
 
std::string _name
 
bool _required
 
std::string _requireLabel
 
bool _valueRequired
 
Visitor_visitor
 
bool _xorSet
 

Additional Inherited Members

- Static Public Member Functions inherited from ecl::Arg
static void beginIgnoring ()
 
static char blankChar ()
 
static char delimiter ()
 
static char flagStartChar ()
 
static std::string flagStartString ()
 
static std::string ignoreNameString ()
 
static bool ignoreRest ()
 
static std::string nameStartString ()
 
static void setDelimiter (char c)
 
- Protected Member Functions inherited from ecl::Arg
void _checkWithVisitor () const
 
 Arg (const std::string &flag, const std::string &name, const std::string &desc, bool req, bool valreq, Visitor *v=NULL)
 

Detailed Description

A multiple switch argument. If the switch is set on the command line, then the getValue method will return the number of times the switch appears.

Definition at line 31 of file multi_switch_arg.hpp.

Constructor & Destructor Documentation

◆ MultiSwitchArg() [1/2]

ecl::MultiSwitchArg::MultiSwitchArg ( const std::string &  flag,
const std::string &  name,
const std::string &  desc,
int  init = 0,
Visitor v = NULL 
)
inline

MultiSwitchArg constructor.

Parameters
flag- The one character flag that identifies this argument on the command line.
name- A one word name for the argument. Can be used as a long flag on the command line.
desc- A description of what the argument is for or does.
init- Optional. The initial/default value of this Arg. Defaults to 0.
v- An optional visitor. You probably should not use this unless you have a very good reason.

Definition at line 114 of file multi_switch_arg.hpp.

◆ MultiSwitchArg() [2/2]

ecl::MultiSwitchArg::MultiSwitchArg ( const std::string &  flag,
const std::string &  name,
const std::string &  desc,
CmdLineInterface parser,
int  init = 0,
Visitor v = NULL 
)
inline

MultiSwitchArg constructor.

Parameters
flag- The one character flag that identifies this argument on the command line.
name- A one word name for the argument. Can be used as a long flag on the command line.
desc- A description of what the argument is for or does.
parser- A CmdLine parser object to add this Arg to
init- Optional. The initial/default value of this Arg. Defaults to 0.
v- An optional visitor. You probably should not use this unless you have a very good reason.

Definition at line 123 of file multi_switch_arg.hpp.

Member Function Documentation

◆ getValue()

int ecl::MultiSwitchArg::getValue ( )
inline

Returns int, the number of times the switch has been set.

Definition at line 135 of file multi_switch_arg.hpp.

◆ longID()

std::string ecl::MultiSwitchArg::longID ( const std::string &  val) const
inlinevirtual

Returns the longID for this Arg.

Reimplemented from ecl::Arg.

Definition at line 181 of file multi_switch_arg.hpp.

◆ processArg()

bool ecl::MultiSwitchArg::processArg ( int *  i,
std::vector< std::string > &  args 
)
inlinevirtual

Handles the processing of the argument. This re-implements the SwitchArg version of this method to set the _value of the argument appropriately.

Parameters
i- Pointer the the current argument in the list.
args- Mutable list of strings. Passed in from main().

Reimplemented from ecl::SwitchArg.

Definition at line 137 of file multi_switch_arg.hpp.

◆ shortID()

std::string ecl::MultiSwitchArg::shortID ( const std::string &  val) const
inlinevirtual

Returns the shortID for this Arg.

Reimplemented from ecl::Arg.

Definition at line 174 of file multi_switch_arg.hpp.

Member Data Documentation

◆ _value

int ecl::MultiSwitchArg::_value
protected

The value of the switch.

Definition at line 40 of file multi_switch_arg.hpp.


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


ecl_command_line
Author(s): Daniel Stonier
autogenerated on Wed Mar 2 2022 00:16:13