ost::CommandOption - CommandOption is the base class for all command line options.
Contents
Constructor & Destructor Documentation
virtualost::CommandOption::~CommandOption()[virtual]
A virtual destructor just in case.
ost::CommandOption::CommandOption(constchar*inOptionName,constchar*inOptionLetter,constchar*inDescription,OptionTypeinOptionType,boolinRequired=false,CommandOption**ppNext=&defaultCommandOptionList)CommandOption contructor. Note the default values for required and ppNext.
ParametersinOptionName long option name
inOptionLetter short letter name
inDescription short description of the option
inOptionType the type of this option
inRequired true if option is required
ppNext the linked list header
Detailed Description
CommandOption is the base class for all command line options.
Command line options can be defined statically and used when constructing a command line parser onject
using makeCommandOptionParse. This serves only as a base class to CommandOptionWithArg, CommandOptionRest
or CommandOptionNoArg which can also be used to derive more complex classes or even entire applications.
Author
Gianni Mariani gianni@mariani.wsExamplescmdlineopt.cpp.
Member Data Documentation
constchar*ost::CommandOption::description
A short description of the option for Usage messages. e.g. Usage: mycommand : blah -f, --file
<DESCRIPTION here>
CommandOption*ost::CommandOption::next
This next CommandOption in this list of options or nil if no more options exist.
constchar*ost::CommandOption::optionLetter
option letter, these will be preceded with '-' on the command line. e.g. -f foo.x
constchar*ost::CommandOption::optionName
Long option name, these will be preceded with '--' on the command line. e.g. --file foo.x
OptionTypeost::CommandOption::optionType
This command option's OptionType.
boolost::CommandOption::required
True if this parameter is required. If the parameter is not supplied and required is true, an error will
be flagged in the option processor.
Member Enumeration Documentation
enumost::CommandOption::OptionType
OptionType is for denoting what type of option this is, with an arg, without an arg or the trailing args.
Option type
EnumeratorhasArg This option is associated with a value.
noArg This option is a flag only.
trailing
Remaining of the command line arguments.
collect
Collect values that are not a value to an option.
Member Function Documentation
virtualvoidost::CommandOption::foundOption(CommandOptionParse*cop,constchar**value,intnum)[virtual]
foundOption is called by the CommandOptionParse object during the parsing of the command line options.
Parameterscop pointer to the command option parser
value an array of values of this option
num number of values in the array
Reimplemented in ost::CommandOptionWithArg.
virtualvoidost::CommandOption::foundOption(CommandOptionParse*cop,constchar*value=0)[virtual]
foundOption is called by the CommandOptionParse object during the parsing of the command line options.
Parameterscop pointer to the command option parser
value the value of this option
Reimplemented in ost::CommandOptionNoArg, and ost::CommandOptionWithArg.
virtualboolost::CommandOption::hasValue()[virtual]
For fields with the required flag set, this method is used to determine if the Option has satisfied it's
required status. The default methods simply returns true if any values have been found. This could be
specialized to return true based on some other criteria.
Reimplemented in ost::CommandOptionWithArg.
virtualvoidost::CommandOption::parseDone(CommandOptionParse*cop)[virtual]
Once parsing of command line options is complete, this method is called. This can be used to perform last
minute checks on the options collected.
Parameterscop pointer to the command option parser
virtualvoidost::CommandOption::performTask(CommandOptionParse*cop)[virtual]
Once CommandOption objects have completed parsing and there are no errors they may have some specific
tasks to perform. PerformTask must return.
Parameterscop pointer to the command option parser
Name
ost::CommandOption - CommandOption is the base class for all command line options.
Synopsis
#include <cmdoptns.h>
Inherited by ost::CommandOptionNoArg, and ost::CommandOptionWithArg.
PublicTypes
enum OptionType { hasArg, noArg, trailing, collect }
OptionType is for denoting what type of option this is, with an arg, without an arg or the trailing
args.
PublicMemberFunctions
virtual ~CommandOption ()
A virtual destructor just in case.
CommandOption (const char *inOptionName, const char *inOptionLetter, const char *inDescription,
OptionType inOptionType, bool inRequired=false, CommandOption **ppNext=&defaultCommandOptionList)
CommandOption contructor.
virtual void foundOption (CommandOptionParse *cop, const char *value=0)
foundOption is called by the CommandOptionParse object during the parsing of the command line
options.
virtual void foundOption (CommandOptionParse *cop, const char **value, int num)
foundOption is called by the CommandOptionParse object during the parsing of the command line
options.
virtual void parseDone (CommandOptionParse *cop)
Once parsing of command line options is complete, this method is called.
virtual void performTask (CommandOptionParse *cop)
Once CommandOption objects have completed parsing and there are no errors they may have some specific
tasks to perform.
virtual bool hasValue ()
For fields with the required flag set, this method is used to determine if the Option has satisfied
it's required status.
PublicAttributes
const char * optionName
Long option name, these will be preceded with '--' on the command line.
const char * optionLetter
option letter, these will be preceded with '-' on the command line.
const char * description
A short description of the option for Usage messages.
OptionTypeoptionType
This command option's OptionType.
bool required
True if this parameter is required.
CommandOption * next
This next CommandOption in this list of options or nil if no more options exist.
