OFCommandLine Class Reference

handles command line arguments. More...

List of all members.

Public Types

enum  E_ParseStatus {
  PS_Normal, PS_NoArguments, PS_UnknownOption, PS_MissingValue,
  PS_MissingParameter, PS_TooManyParameters, PS_CannotOpenCommandFile
}
 status of command line parsing More...
enum  E_ValueStatus {
  VS_Normal, VS_Invalid, VS_NoMore, VS_Empty,
  VS_Underflow, VS_Overflow
}
 status of converting string option value to value field More...
enum  E_ParamValueStatus {
  PVS_Normal, PVS_Invalid, PVS_CantFind, PVS_Empty,
  PVS_Underflow, PVS_Overflow
}
 status of converting string parameter to value field More...
enum  E_FindOptionMode { FOM_Normal, FOM_First, FOM_Next }
 mode for findOption method More...

Public Member Functions

 OFCommandLine ()
 constructor
virtual ~OFCommandLine ()
 destructor
void setOptionChars (const char *chars)
 sets characters used to detect options
void setOptionColumns (const int longCols, const int shortCols)
 sets default width of option columns
void setParamColumn (const int column)
 sets default width of parameter column
OFBool addOption (const char *longOpt, const char *shortOpt, const int valueCount, const char *valueDescr, const char *optDescr, const OFBool exclusive=OFFalse)
 adds an item to the list of valid options (full version)
OFBool addOption (const char *longOpt, const char *shortOpt, const char *optDescr, const OFBool exclusive=OFFalse)
 adds an item to the list of valid options (without additional values)
OFBool addOption (const char *longOpt, const int valueCount, const char *valueDescr, const char *optDescr, const OFBool exclusive=OFFalse)
 adds an item to the list of valid options (without short name)
OFBool addOption (const char *longOpt, const char *optDescr, const OFBool exclusive=OFFalse)
 adds an item to the list of valid options (without short name and additional values)
void addGroup (const char *name, const int longCols=0, const int shortCols=0)
 adds a new group (top-level).
void addSubGroup (const char *name, const int longCols=0, const int shortCols=0)
 adds a new subgroup (beyond group-level).
OFBool addParam (const char *param, const char *descr, const OFCmdParam::E_ParamMode mode=OFCmdParam::PM_Mandatory)
 adds an item to the list of valid parameters (full version)
OFBool addParam (const char *param, const OFCmdParam::E_ParamMode mode=OFCmdParam::PM_Mandatory)
 adds an item to the list of valid parameters (without description)
int getArgCount () const
 gets number of command line arguments.
OFBool gotoFirstArg ()
 sets first command line argument as the current one.
OFBool gotoNextArg ()
 sets next command line argument as the current one.
OFBool getCurrentArg (const char *&arg)
 gets current command line argument as a C string This is the argument which is currently parsed or has been selected as the current one by gotoXXXArg().
OFBool getCurrentArg (OFCmdString &arg)
 gets current command line argument as a C++ string.
int getParamCount () const
 gets number of parameters in the parsed command line.
int getMinParamCount () const
 gets minimum number of parameters which should be accepted.
int getMaxParamCount () const
 gets maximum number of parameters which should be accepted.
OFBool hasExclusiveOption () const
 checks whether the parsed command line contains any "exclusive" option which does not require any mandatory parameter.
OFBool findParam (const int pos)
 checks whether specified parameter exists in the command line.
E_ParamValueStatus getParam (const int pos, OFCmdSignedInt &value)
 gets value of specified parameter as signed integer.
E_ParamValueStatus getParamAndCheckMin (const int pos, OFCmdSignedInt &value, const OFCmdSignedInt low, const OFBool incl=OFTrue)
 get value of specified parameter as signed integer and checks for given boundary
E_ParamValueStatus getParamAndCheckMinMax (const int pos, OFCmdSignedInt &value, const OFCmdSignedInt low, const OFCmdSignedInt high)
 gets value of specified parameter as signed integer and checks for given boundaries
E_ParamValueStatus getParam (const int pos, OFCmdUnsignedInt &value)
 gets value of specified parameter as unsigned integer.
E_ParamValueStatus getParamAndCheckMin (const int pos, OFCmdUnsignedInt &value, const OFCmdUnsignedInt low, const OFBool incl=OFTrue)
 gets value of specified parameter as unsigned integer and checks for given boundary.
E_ParamValueStatus getParamAndCheckMinMax (const int pos, OFCmdUnsignedInt &value, const OFCmdUnsignedInt low, const OFCmdUnsignedInt high)
 gets value of specified parameter as unsigned integer and checks for given boundaries.
E_ParamValueStatus getParam (const int pos, OFCmdFloat &value)
 gets value of specified parameter as floating point.
E_ParamValueStatus getParamAndCheckMin (const int pos, OFCmdFloat &value, const OFCmdFloat low, const OFBool incl=OFTrue)
 gets value of specified parameter as floating point and checks for given boundary
E_ParamValueStatus getParamAndCheckMinMax (const int pos, OFCmdFloat &value, const OFCmdFloat low, const OFCmdFloat high)
 gets value of specified parameter as floating point and checks for given boundaries
E_ParamValueStatus getParam (const int pos, const char *&param)
 gets value of specified parameter as C string.
E_ParamValueStatus getParam (const int pos, OFCmdString &param)
 gets value of specified parameter as C++ string.
OFBool findOption (const char *longOpt, const signed int pos=0, const E_FindOptionMode mode=FOM_Normal)
 checks whether specified option exists in the command line.
OFBool gotoFirstOption ()
 sets first command line option as the current one.
OFBool gotoNextOption ()
 sets next command line option as the current one.
OFBool getCurrentOption (const char *&opt)
 returns current option as a C string.
OFBool getCurrentOption (OFCmdString &opt)
 returns current option as a C++ string.
void beginOptionBlock ()
 starts an option block which can be used to support mutually exclusive options.
void endOptionBlock ()
 ends an option block which can be used to support mutually exclusive options.
E_ValueStatus getValue (OFCmdSignedInt &value)
 returns next argument as a signed integer value
E_ValueStatus getValueAndCheckMin (OFCmdSignedInt &value, const OFCmdSignedInt low, const OFBool incl=OFTrue)
 returns next argument as a signed integer value and checks for given boundary
E_ValueStatus getValueAndCheckMinMax (OFCmdSignedInt &value, const OFCmdSignedInt low, const OFCmdSignedInt high)
 returns next argument as a signed integer value and checks for given boundaries
E_ValueStatus getValue (OFCmdUnsignedInt &value)
 returns next argument as an unsigned integer value
E_ValueStatus getValueAndCheckMin (OFCmdUnsignedInt &value, const OFCmdUnsignedInt low, const OFBool incl=OFTrue)
 returns next argument as an unsigned integer value and checks for given boundary
E_ValueStatus getValueAndCheckMinMax (OFCmdUnsignedInt &value, const OFCmdUnsignedInt low, const OFCmdUnsignedInt high)
 returns next argument as an unsigned integer value and checks for given boundaries
E_ValueStatus getValue (OFCmdFloat &value)
 returns next argument as a floating point value
E_ValueStatus getValueAndCheckMin (OFCmdFloat &value, const OFCmdFloat low, const OFBool incl=OFTrue)
 returns next argument as a floating point value and checks for given boundary
E_ValueStatus getValueAndCheckMinMax (OFCmdFloat &value, const OFCmdFloat low, const OFCmdFloat high)
 returns next argument as a floating point value and checks for given boundaries
E_ValueStatus getValue (const char *&value)
 returns next argument as a C string
E_ValueStatus getValue (OFCmdString &value)
 returns next argument as a C++ string
E_ParseStatus parseLine (int argCount, char *argValue[], const int flags=0, const int startPos=1)
 parses specified command line arguments (argc, argv).
void getSyntaxString (OFString &syntaxStr) const
 returns command line syntax as a C++ string (single text line).
void getOptionString (OFString &optionStr) const
 returns description of all options as a C++ string (multiple text lines).
void getParamString (OFString &paramStr) const
 returns description of all parameters as a C++ string (multiple text lines).
void getStatusString (const E_ParseStatus status, OFString &statusStr)
 returns status of parseLine as a C++ string
void getStatusString (const E_ParamValueStatus status, OFString &statusStr)
 returns status of getParam as a C++ string
void getStatusString (const E_ValueStatus status, OFString &statusStr)
 returns status of getValue as a C++ string

Static Public Attributes

static const int ExpandWildcards
 parsing flag to expand wildcard under Windows (very similar to Unix)
static const int NoCommandFiles
 disable support for command files ("@filename") containing additional arguments

Protected Member Functions

OFBool checkOption (const OFString &option, const OFBool mode=OFTrue) const
 checks whether given option is valid (starting with an option char and not followed by a number)
OFBool findParam (int pos, OFListIterator(OFCmdParamPos *)&pos_iter)
 finds specified parameter and sets given iterator to this position
const OFCmdOption * findCmdOption (const OFString &option) const
 finds specified option and returns reference to its describing structure
void storeParameter (const OFString &param, const int directOption=0)
 stores the specified parameter in the argument/parameter list
E_ParseStatus parseCommandFile (const char *argValue, OFList< OFString > &argList)
 check whether 'argValue' points to command file and parse content if so
int packColumnValues (int longCols, int shortCols) const
 packs the two 16 bit values into one 32 bit value
void unpackColumnValues (const int value, unsigned int &longCols, unsigned int &shortCols) const
 unpacks two 16 bit values from one 32 bit value
E_ParseStatus checkParamCount ()
 checks whether number of parameters in parsed command line is within the range of min/max (see below)
OFBool getLastArg (OFString &arg)
 returns last command line argument as a C++ string
OFBool getMissingParam (OFString &param)
 returns name of parameter which is missed in the parsed command line (used for error output)

Private Member Functions

 OFListIterator (OFString) ArgumentIterator
 current position in argument list
 OFListIterator (OFListIterator_OFString) OptionPosIterator
 current position in option position list
 OFListIterator (OFListIterator_OFString) OptionBlockIterator
 current position in option position list (used for option blocks)
OFCommandLineoperator= (const OFCommandLine &obj)
 private undefined assignment operator

Private Attributes

OFList< OFCmdOption * > ValidOptionList
 list of valid/defined command line options
OFList< OFCmdParam * > ValidParamList
 list of valid/defined command line parameters
OFList< OFStringArgumentList
 list of command line arguments (after parsing)
OFList< OFCmdParamPos * > ParamPosList
 list of parameter positions within argument list
OFList< OFListIterator_OFString > OptionPosList
 list of option positions within argument list
OFBool OptionBlockMode
 OFTrue if option block is active, OFFalse otherwise.
OFString OptionChars
 C++ string conisting of all valid characters introducing an option.
OFBool ExclusiveOption
 OFTrue if an "exclusive" option is used in the command line, OFFalse otherwise.
int LongColumn
 width of column for long option names
int ShortColumn
 width of column for short option names
int ParamColumn
 width of column for parameter names
int MinParamCount
 minimum number of parameters which should be accepted
int MaxParamCount
 maximum number of parameter which should be accepted
OFCmdParam::E_ParamMode LastParamMode
 mode of last added parameter (used for debug checking)


Detailed Description

handles command line arguments.

This class is the interface to this module. All methods which can be used from outside are defined here.

Definition at line 133 of file ofcmdln.h.


Member Enumeration Documentation

enum OFCommandLine::E_FindOptionMode
 

mode for findOption method

Enumerator:
FOM_Normal  normal find
FOM_First  find first option
FOM_Next  find next option

Definition at line 200 of file ofcmdln.h.

enum OFCommandLine::E_ParamValueStatus
 

status of converting string parameter to value field

Enumerator:
PVS_Normal  normal, no errors
PVS_Invalid  argument contains invalid char(s)
PVS_CantFind  specified parameter doesn't exist
PVS_Empty  empty string argument
PVS_Underflow  converted value falls below minimum
PVS_Overflow  converted value exceeds maximum

Definition at line 182 of file ofcmdln.h.

enum OFCommandLine::E_ParseStatus
 

status of command line parsing

Enumerator:
PS_Normal  normal, no errors
PS_NoArguments  no arguments to be parsed
PS_UnknownOption  unknown option detected
PS_MissingValue  missing value(s) for an option
PS_MissingParameter  missing parameter
PS_TooManyParameters  too many parameters
PS_CannotOpenCommandFile  cannot open command file

Definition at line 142 of file ofcmdln.h.

enum OFCommandLine::E_ValueStatus
 

status of converting string option value to value field

Enumerator:
VS_Normal  normal, no errors
VS_Invalid  argument contains invalid char(s)
VS_NoMore  no more arguments to be converted
VS_Empty  empty string argument
VS_Underflow  converted value falls below minimum
VS_Overflow  converted value exceeds maximum

Definition at line 163 of file ofcmdln.h.


Member Function Documentation

void OFCommandLine::addGroup const char *  name,
const int  longCols = 0,
const int  shortCols = 0
 

adds a new group (top-level).

all following options belong to this group

Parameters:
name name of the group
longCols minimum width of the long option column
shortCols minimum width of the short option column

OFBool OFCommandLine::addOption const char *  longOpt,
const char *  optDescr,
const OFBool  exclusive = OFFalse
 

adds an item to the list of valid options (without short name and additional values)

Parameters:
longOpt long option name
optDescr description of command line option (use '
' for line break)
exclusive exclusive option which cannot be combined with any other command line argument (if OFTrue). "--help" is always considered an exclusive option.
Returns:
OFTrue if succesfully added

OFBool OFCommandLine::addOption const char *  longOpt,
const int  valueCount,
const char *  valueDescr,
const char *  optDescr,
const OFBool  exclusive = OFFalse
 

adds an item to the list of valid options (without short name)

Parameters:
longOpt long option name
valueCount number of additional values
valueDescr description of optional values
optDescr description of command line option (use '
' for line break)
exclusive exclusive option which cannot be combined with any other command line argument (if OFTrue). "--help" is always considered an exclusive option.
Returns:
OFTrue if succesfully added

OFBool OFCommandLine::addOption const char *  longOpt,
const char *  shortOpt,
const char *  optDescr,
const OFBool  exclusive = OFFalse
 

adds an item to the list of valid options (without additional values)

Parameters:
longOpt long option name
shortOpt short option name
optDescr description of command line option (use '
' for line break)
exclusive exclusive option which cannot be combined with any other command line argument (if OFTrue). "--help" is always considered an exclusive option.
Returns:
OFTrue if succesfully added

OFBool OFCommandLine::addOption const char *  longOpt,
const char *  shortOpt,
const int  valueCount,
const char *  valueDescr,
const char *  optDescr,
const OFBool  exclusive = OFFalse
 

adds an item to the list of valid options (full version)

Parameters:
longOpt long option name
shortOpt short option name
valueCount number of additional values
valueDescr description of optional values
optDescr description of command line option (use '
' for line break)
exclusive exclusive option which cannot be combined with any other command line argument (if OFTrue). "--help" is always considered an exclusive option.
Returns:
OFTrue if succesfully added

OFBool OFCommandLine::addParam const char *  param,
const OFCmdParam::E_ParamMode  mode = OFCmdParam::PM_Mandatory
 

adds an item to the list of valid parameters (without description)

Parameters:
param parameter name
mode parameter's cardinality (see above)
Returns:
OFTrue if successful, OFFalse otherwise

OFBool OFCommandLine::addParam const char *  param,
const char *  descr,
const OFCmdParam::E_ParamMode  mode = OFCmdParam::PM_Mandatory
 

adds an item to the list of valid parameters (full version)

Parameters:
param parameter name
descr parameter description (use '
' for line break)
mode parameter's cardinality (see above)
Returns:
OFTrue if successful, OFFalse otherwise

void OFCommandLine::addSubGroup const char *  name,
const int  longCols = 0,
const int  shortCols = 0
 

adds a new subgroup (beyond group-level).

all following options belong to this subgroup

Parameters:
name name of the subgroup
longCols minimum width of the long option column
shortCols minimum width of the short option column

OFBool OFCommandLine::findOption const char *  longOpt,
const signed int  pos = 0,
const E_FindOptionMode  mode = FOM_Normal
 

checks whether specified option exists in the command line.

The search process starts from the last command line argument (which is a direct predecessor of the optional defined reference parameter 'pos') and goes to the first one.

Parameters:
longOpt name of option (in long format) to be checked
pos position of reference parameter (default: all parameters; if value is negative option must be a direct predecessor of the specified reference parameter '-pos', no further search processes will be performed)
mode find option mode (used to support option blocks)
Returns:
OFTrue if option exists, OFFalse otherwise

OFBool OFCommandLine::findParam const int  pos  ) 
 

checks whether specified parameter exists in the command line.

Parameters:
pos position of parameter to be checked (1..n)
Returns:
OFTrue if parameter exists, false otherwise

int OFCommandLine::getArgCount  )  const [inline]
 

gets number of command line arguments.

(options and parameters)

Returns:
number of command line arguments

Definition at line 370 of file ofcmdln.h.

References ArgumentList, and OFList< T >::size().

OFBool OFCommandLine::getCurrentArg OFCmdString arg  ) 
 

gets current command line argument as a C++ string.

This is the argument which is currently parsed or has been selected as the current one by gotoXXXArg().

Parameters:
arg reference to C++ string where argument should be stored
Returns:
OFTrue if successful, OFFalse otherwise

OFBool OFCommandLine::getCurrentArg const char *&  arg  ) 
 

gets current command line argument as a C string This is the argument which is currently parsed or has been selected as the current one by gotoXXXArg().

Parameters:
arg reference to C string where argument should be stored
Returns:
OFTrue if successful, OFFalse otherwise

OFBool OFCommandLine::getCurrentOption OFCmdString opt  ) 
 

returns current option as a C++ string.

This is the option which has currently been parsed (e.g. used for error output) or which has been selected as the current one by gotoXXXOption().

Parameters:
opt reference to C++ string where option should be stored
Returns:
OFTrue if there is a current option, OFFalse otherwise

OFBool OFCommandLine::getCurrentOption const char *&  opt  ) 
 

returns current option as a C string.

This is the option which has currently been parsed (e.g. used for error output) or which has been selected as the current one by gotoXXXOption().

Parameters:
opt reference to C string where option should be stored
Returns:
OFTrue if there is a current option, OFFalse otherwise

int OFCommandLine::getMaxParamCount  )  const [inline]
 

gets maximum number of parameters which should be accepted.

Returns:
number of parameters

Definition at line 431 of file ofcmdln.h.

References MaxParamCount.

int OFCommandLine::getMinParamCount  )  const [inline]
 

gets minimum number of parameters which should be accepted.

Returns:
number of parameters

Definition at line 422 of file ofcmdln.h.

References MinParamCount.

void OFCommandLine::getOptionString OFString optionStr  )  const
 

returns description of all options as a C++ string (multiple text lines).

Text consists of group headings, short and long option names, option descriptions and additional option values.

Parameters:
optionStr reference to C++ string where the text should be stored

E_ParamValueStatus OFCommandLine::getParam const int  pos,
OFCmdString param
 

gets value of specified parameter as C++ string.

Parameters:
pos position of parameter (1..n)
param reference to variable where the value should be stored
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParam const int  pos,
const char *&  param
 

gets value of specified parameter as C string.

Parameters:
pos position of parameter (1..n)
param reference to variable where the value should be stored
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParam const int  pos,
OFCmdFloat &  value
 

gets value of specified parameter as floating point.

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParam const int  pos,
OFCmdUnsignedInt &  value
 

gets value of specified parameter as unsigned integer.

NB: If command line argument specifies a negative value the result depends on the signed->unsigned conversion implemented in sscanf() !!

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParam const int  pos,
OFCmdSignedInt &  value
 

gets value of specified parameter as signed integer.

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParamAndCheckMin const int  pos,
OFCmdFloat &  value,
const OFCmdFloat  low,
const OFBool  incl = OFTrue
 

gets value of specified parameter as floating point and checks for given boundary

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
low minimum boundary for value (used for range check)
incl if OFTrue 'low' value is valid (included), otherwise invalid
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParamAndCheckMin const int  pos,
OFCmdUnsignedInt &  value,
const OFCmdUnsignedInt  low,
const OFBool  incl = OFTrue
 

gets value of specified parameter as unsigned integer and checks for given boundary.

NB: If command line argument specifies a negative value the result depends on the signed->unsigned conversion implemented in sscanf() !!

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
low minimum boundary for value (used for range check)
incl if OFTrue 'low' value is valid (included), otherwise invalid
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParamAndCheckMin const int  pos,
OFCmdSignedInt &  value,
const OFCmdSignedInt  low,
const OFBool  incl = OFTrue
 

get value of specified parameter as signed integer and checks for given boundary

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
low minimum boundary for value (used for range check)
incl if OFTrue 'low' value is valid (included), otherwise invalid
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParamAndCheckMinMax const int  pos,
OFCmdFloat &  value,
const OFCmdFloat  low,
const OFCmdFloat  high
 

gets value of specified parameter as floating point and checks for given boundaries

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
low minimum boundary for value (used for range check, boundary included)
high maximum boundary for value (dito)
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParamAndCheckMinMax const int  pos,
OFCmdUnsignedInt &  value,
const OFCmdUnsignedInt  low,
const OFCmdUnsignedInt  high
 

gets value of specified parameter as unsigned integer and checks for given boundaries.

NB: If command line argument specifies a negative value the result depends on the signed->unsigned conversion implemented in sscanf() !!

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
low minimum boundary for value (used for range check, boundary included)
high maximum boundary for value (dito)
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParamAndCheckMinMax const int  pos,
OFCmdSignedInt &  value,
const OFCmdSignedInt  low,
const OFCmdSignedInt  high
 

gets value of specified parameter as signed integer and checks for given boundaries

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
low minimum boundary for value (used for range check, boundary included)
high maximum boundary for value (dito)
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

int OFCommandLine::getParamCount  )  const [inline]
 

gets number of parameters in the parsed command line.

A parameter is an argument which is no option (e.g. a filename).

Returns:
number of parameters

Definition at line 413 of file ofcmdln.h.

References ParamPosList, and OFList< T >::size().

void OFCommandLine::getParamString OFString paramStr  )  const
 

returns description of all parameters as a C++ string (multiple text lines).

Text consists of heading "parameters:" and parameter names and descriptions.

Parameters:
paramStr reference to C++ string where the text should be stored

void OFCommandLine::getStatusString const E_ValueStatus  status,
OFString statusStr
 

returns status of getValue as a C++ string

Parameters:
status value returned by method getValue
statusStr reference to C++string where the text should be stored

void OFCommandLine::getStatusString const E_ParamValueStatus  status,
OFString statusStr
 

returns status of getParam as a C++ string

Parameters:
status value returned by method getParam
statusStr reference to C++string where the text should be stored

void OFCommandLine::getStatusString const E_ParseStatus  status,
OFString statusStr
 

returns status of parseLine as a C++ string

Parameters:
status value returned by method parseLine
statusStr reference to C++string where the text should be stored

void OFCommandLine::getSyntaxString OFString syntaxStr  )  const
 

returns command line syntax as a C++ string (single text line).

Text consists of "[options]" (if defined by addOption) and all parameters defined by addParam.

Parameters:
syntaxStr reference to C++ string where the text should be stored

E_ValueStatus OFCommandLine::getValue OFCmdString value  ) 
 

returns next argument as a C++ string

Parameters:
value reference to C++ string variable where the value should be stored
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValue const char *&  value  ) 
 

returns next argument as a C string

Parameters:
value reference to C string variable where the value should be stored
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValue OFCmdFloat &  value  ) 
 

returns next argument as a floating point value

Parameters:
value reference to floating point variable where the value should be stored
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValue OFCmdUnsignedInt &  value  ) 
 

returns next argument as an unsigned integer value

Parameters:
value reference to unsigned integer variable where the value should be stored
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValue OFCmdSignedInt &  value  ) 
 

returns next argument as a signed integer value

Parameters:
value reference to signed integer variable where the value should be stored
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValueAndCheckMin OFCmdFloat &  value,
const OFCmdFloat  low,
const OFBool  incl = OFTrue
 

returns next argument as a floating point value and checks for given boundary

Parameters:
value reference to floating point variable where the value should be stored
low minimum boundary for value (used for range check)
incl if OFTrue 'low' value is valid (included), otherwise invalid
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValueAndCheckMin OFCmdUnsignedInt &  value,
const OFCmdUnsignedInt  low,
const OFBool  incl = OFTrue
 

returns next argument as an unsigned integer value and checks for given boundary

Parameters:
value reference to unsigned integer variable where the value should be stored
low minimum boundary for value (used for range check)
incl if OFTrue 'low' value is valid (included), otherwise invalid
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValueAndCheckMin OFCmdSignedInt &  value,
const OFCmdSignedInt  low,
const OFBool  incl = OFTrue
 

returns next argument as a signed integer value and checks for given boundary

Parameters:
value reference to signed integer variable where the value should be stored
low minimum boundary for value (used for range check)
incl if OFTrue 'low' value is valid (included), otherwise invalid
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValueAndCheckMinMax OFCmdFloat &  value,
const OFCmdFloat  low,
const OFCmdFloat  high
 

returns next argument as a floating point value and checks for given boundaries

Parameters:
value reference to floating point variable where the value should be stored
low minimum boundary for value (used for range check, boundary included)
high maximum boundary for value (dito)
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValueAndCheckMinMax OFCmdUnsignedInt &  value,
const OFCmdUnsignedInt  low,
const OFCmdUnsignedInt  high
 

returns next argument as an unsigned integer value and checks for given boundaries

Parameters:
value reference to unsigned integer variable where the value should be stored
low minimum boundary for value (used for range check, boundary included)
high maximum boundary for value (dito)
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValueAndCheckMinMax OFCmdSignedInt &  value,
const OFCmdSignedInt  low,
const OFCmdSignedInt  high
 

returns next argument as a signed integer value and checks for given boundaries

Parameters:
value reference to signed integer variable where the value should be stored
low minimum boundary for value (used for range check, boundary included)
high maximum boundary for value (dito)
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

OFBool OFCommandLine::gotoFirstArg  ) 
 

sets first command line argument as the current one.

Useful for iterating over all arguments.

Returns:
OFTrue if successful, OFFalse otherwise

OFBool OFCommandLine::gotoFirstOption  ) 
 

sets first command line option as the current one.

Useful for iterating over all options.

Returns:
OFTrue if successful, OFFalse otherwise

OFBool OFCommandLine::gotoNextArg  ) 
 

sets next command line argument as the current one.

Useful for iterating over all arguments.

Returns:
OFTrue if successful, OFFalse otherwise

OFBool OFCommandLine::gotoNextOption  ) 
 

sets next command line option as the current one.

Useful for iterating over all options.

Returns:
OFTrue if successful, OFFalse otherwise

OFBool OFCommandLine::hasExclusiveOption  )  const [inline]
 

checks whether the parsed command line contains any "exclusive" option which does not require any mandatory parameter.

Examples for typical exclusive options are "--help" and "--version".

Returns:
OFTrue if an exclusive option is used

Definition at line 442 of file ofcmdln.h.

References ExclusiveOption.

E_ParseStatus OFCommandLine::parseLine int  argCount,
char *  argValue[],
const int  flags = 0,
const int  startPos = 1
 

parses specified command line arguments (argc, argv).

Additionally create internal structures for evaluation and return status indicating any errors occuring during the parse process. If "--help" or the specified shortcut is the only command line argument, the status code PS_NoArguments is returned.

Parameters:
argCount number of command line arguments stored in argValue
argValue array where the command line arguments are stored
flags optional flags affecting the parse process (see below)
startPos index of first argument which should be parsed (starting from 0, default: 1)
Returns:
status of parse process, PS_Normal if successful (use getStatusString for error string)

void OFCommandLine::setOptionChars const char *  chars  ) 
 

sets characters used to detect options

Parameters:
chars string containing all valid option characters (default: "+-")

void OFCommandLine::setOptionColumns const int  longCols,
const int  shortCols
 

sets default width of option columns

Parameters:
longCols minimum width of the long option column
shortCols minimum width of the short option column

void OFCommandLine::setParamColumn const int  column  ) 
 

sets default width of parameter column

Parameters:
column minimum width of the long option column


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


Generated on 20 Dec 2005 for OFFIS DCMTK Version 3.5.4 by Doxygen 1.4.5