Template Class UnlabeledValueArg

Inheritance Relationships

Base Type

Class Documentation

template<class T>
class UnlabeledValueArg : public ecl::ValueArg<T>

The basic unlabeled argument that parses a value. This is a template class, which means the type T defines the type that a given object will attempt to parse when an UnlabeledValueArg is reached in the list of args that the CmdLine iterates over.

Public Functions

UnlabeledValueArg(const std::string &name, const std::string &desc, bool req, T value, const std::string &typeDesc, bool ignoreable = false, Visitor *v = NULL)

UnlabeledValueArg

constructor.

Constructor implemenation.

Parameters:
  • 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.

  • req – - Whether the argument is required on the command line.

  • value – - The default value assigned to this argument if it is not present on the command line.

  • typeDesc – - A short, human readable description of the type that this object expects. This is used in the generation of the USAGE statement. The goal is to be helpful to the end user of the program.

  • ignoreable – - Allows you to specify that this argument can be ignored if the ‘&#8212;’ flag is set. This defaults to false (cannot be ignored) and should generally stay that way unless you have some special need for certain arguments to be ignored.

  • v – - Optional Vistor. You should leave this blank unless you have a very good reason.

UnlabeledValueArg(const std::string &name, const std::string &desc, bool req, T value, const std::string &typeDesc, CmdLineInterface &parser, bool ignoreable = false, Visitor *v = NULL)

UnlabeledValueArg constructor.

Parameters:
  • 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.

  • req – - Whether the argument is required on the command line.

  • value – - The default value assigned to this argument if it is not present on the command line.

  • typeDesc – - A short, human readable description of the type that this object expects. This is used in the generation of the USAGE statement. The goal is to be helpful to the end user of the program.

  • parser – - A CmdLine parser object to add this Arg to

  • ignoreable – - Allows you to specify that this argument can be ignored if the ‘&#8212;’ flag is set. This defaults to false (cannot be ignored) and should generally stay that way unless you have some special need for certain arguments to be ignored.

  • v – - Optional Vistor. You should leave this blank unless you have a very good reason.

UnlabeledValueArg(const std::string &name, const std::string &desc, bool req, T value, Constraint<T> *constraint, bool ignoreable = false, Visitor *v = NULL)

UnlabeledValueArg

constructor.

Constructor implemenation.

Parameters:
  • 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.

  • req – - Whether the argument is required on the command line.

  • value – - The default value assigned to this argument if it is not present on the command line.

  • constraint – - A pointer to a Constraint object used to constrain this Arg.

  • ignoreable – - Allows you to specify that this argument can be ignored if the ‘&#8212;’ flag is set. This defaults to false (cannot be ignored) and should generally stay that way unless you have some special need for certain arguments to be ignored.

  • v – - Optional Vistor. You should leave this blank unless you have a very good reason.

UnlabeledValueArg(const std::string &name, const std::string &desc, bool req, T value, Constraint<T> *constraint, CmdLineInterface &parser, bool ignoreable = false, Visitor *v = NULL)

UnlabeledValueArg constructor.

Parameters:
  • 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.

  • req – - Whether the argument is required on the command line.

  • value – - The default value assigned to this argument if it is not present on the command line.

  • constraint – - A pointer to a Constraint object used to constrain this Arg.

  • parser – - A CmdLine parser object to add this Arg to

  • ignoreable – - Allows you to specify that this argument can be ignored if the ‘&#8212;’ flag is set. This defaults to false (cannot be ignored) and should generally stay that way unless you have some special need for certain arguments to be ignored.

  • v – - Optional Vistor. You should leave this blank unless you have a very good reason.

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

Handles the processing of the argument. This re-implements the Arg

version of this method to set the _value of the argument appropriately. Handling specific to unlabled arguments.

Implementation of

processArg().

Parameters:
  • i – - Pointer the the current argument in the list.

  • args – - Mutable list of strings.

virtual std::string shortID(const std::string &val = "val") const

Overrides shortID for specific behavior.

Overriding shortID for specific output.

virtual std::string longID(const std::string &val = "val") const

Overrides longID for specific behavior.

Overriding longID for specific output.

virtual bool operator==(const Arg &a) const

Overrides operator== for specific behavior.

Overriding operator== for specific behavior.

virtual void addToList(std::list<Arg*> &argList) const

Instead of pushing to the front of list, push to the back.

Parameters:

argList – - The list to add this to.