Developer Documentation
Centre for Vision, Speech & Signal Processing
USER IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
OptionC::OptionC(int,char **,BooleanT,OStreamC)
OptionC::OptionC(int,char **,BooleanT)
OptionC::OptionC(DListC,OStreamC)
OptionC::IsOnCommandLine(const char *) const
OptionC::LeftOk(void)
OptionC::Check(BooleanT)
OptionC::Usage(void)
OptionC::Comment(const char *)
OptionC::Comment(const StringC &)
OptionC::Get(const char *,const DataT &,const char *,int)
OptionC::Int(const char *,int,const char *)
OptionC::IntInt(const char *,int,int,const char *)
OptionC::Index2d(const char *,int,int,const char *)
OptionC::Real(const char *,RealT,const char *)
OptionC::RealReal(const char *,RealT,RealT,const char *)
OptionC::Point2d(const char *,RealT,RealT,const char *)
OptionC::CharArr(const char *,const char *,const char *)
OptionC::String(const char *,const char *,const char *)
OptionC::UnsignedChar(const char *,unsigned char,const char *)
OptionC::Boolean(const char *,BooleanT,const char *)
OptionC::IntArr(const char *,SizeT,const char *)
OptionC::RealArr(const char *,SizeT,const char *)
OptionC::List(const char *,const char *)
OptionC::DependXor(const char *)
OptionC::If(int,const char *,const char *)
OptionC::MultIf(int,const char *,const char *)
OptionC::DependIf(const char *,int,int,const char *)
OptionC::Compulsory(const char *)
OptionC::CompulsoryArgs(int)
OptionC::PrintUsage(void)
OptionC::SaveOptions(StringC)
OptionC::LoadOptions(StringC)
OptionC::GetOption1(const char *)
OptionC::GetOptionsTxt(const char *,int)
OptionC::IsParam(const StringC &) const
OptionC::IsProcessed(const StringC &) const
OptionC::MarkProcessed(StringC &) const
OptionC::IsUsed(const char *) const
OptionC::GetOption0(const char *)
OptionC::GetOptions(const char *,int)
OptionC::Init(void)
OptionC::Error(const StringC &)
OptionC::Depend(const StringC &)
OptionC
 
The class OptionC is a simple parser of a command line.
 
include "amma/Option.hh"
User Level:Default
Library:Mopt
Example:exOption.cc
Section:Utilities.System Basic Types
In Scope:std

Comments:
This is a small object.

Variables:
DListC args;
List of arguments left.

DListC allargs;
List of all arguments.

DListC used;
List of used args.

DListC usage;
Usage text.

DListC depend;
Dependancies text.

DListC errors;
List of error messages.

BooleanT leftOk;
True if unused args are ok.

BooleanT help;

StringC progName;
Name of program

StringC optSave;
File to save options to.

OStreamC sout;
Where to send messages about option processing.

IntT unnamed;
Number of unnamed args found.

Methods:
OptionC(int argc,char ** argv,BooleanT copy,OStreamC msgout)
Creates the option processing system
'copy' == FALSE ... options and pars. are removed from agrv, argc
'copy' == TRUE ... leave argv, argc untouched, work on a copy

OptionC(int argc,char ** argv,BooleanT copy = FALSE)
Creates the option processing system
'copy' == FALSE ... options and pars. are removed from agrv, argc
'copy' == TRUE ... leave argv, argc untouched, work on a copy

OptionC(DListC<StringC> opts,OStreamC msgout = OStreamC(cerr))
Creates the option processing system.

BooleanT IsOnCommandLine(const char * option) const
Returns TRUE if the 'option' was on the command line.

void LeftOk()
Does not consider unprocessed options as an error.

BooleanT Check(BooleanT exitOnFail = TRUE)
Ends command line processing,
if errors are detected their list together with usage/help is printed out.

DListC<StringC> Usage()
Returns complete usage (NULL terminated).

void Comment(const char * commentText)
Puts this line to the usage.

void Comment(const StringC & commentText)
Puts this line to the usage.

DataT Get(const char * name,const DataT & def,const char * comment,int nArgs = 1)
Get option with multipal args

IntT Int(const char * name,int def,const char * comment)
Gets integer.

IntSArray1dC IntInt(const char * name,int def1,int def2,const char * comment)
Gets integer pair.

Index2dC Index2d(const char * name,int def1,int def2,const char * comment)
Gets pair of IndexC types.

RealT Real(const char * name,RealT def,const char * comment)
Gets real value.

RealSArray1dC RealReal(const char * name,RealT def1,RealT def2,const char * comment)
Gets a pair of real values.

Tuple2C<RealT,RealT> Point2d(const char * name,RealT def1,RealT def2,const char * comment)
Gets a pair of real values.

char * CharArr(const char * name,const char * def,const char * comment)
Gets array of chars.
This returns a string allocated with 'new char [xx]' it is the callers responability to free this string after use.

StringC String(const char * name,const char * def,const char * comment)
Gets a string.
N.B.: if "name" is the empty string, the default value is returned

unsigned char UnsignedChar(const char * name,unsigned char def,const char * comment)
Gets a unsigned char.

BooleanT Boolean(const char * name,BooleanT def,const char * comment)
Gets toggle (boolean value).

IntSArray1dC IntArr(const char * name,SizeT elems,const char * comment)
Gets integer array of 'elems' items

RealSArray1dC RealArr(const char * name,SizeT elems,const char * comment)
Gets real array of 'elems' items.

DListC<StringC> List(const char * name,const char * comment)
Gets a list of strings following the option 'name'. This function can used only if the header file 'DList.hh' is called before this header file.

Dependency definition functions.


void DependXor(const char * xor_opt)
xor_opt defines a set of mutually exclusive options options are specified in xor_opt without '-', eg. 'alpha beta x'

void If(int enableCond,const char * depend,const char * comment)
option "depend" can be specified only if a given condition 'enableCond' is met

void MultIf(int enableCond,const char * depend,const char * comment)
options (several of them) in string "depend" can be specified only if a given condition 'enableCond' is met

void DependIf(const char * cond,int enableVal,int val,const char * depend)
option 'depend' can be specified only if option 'cond' has value 'enableVal'. Current value of 'depend' is passed explicitly in val

void Compulsory(const char * name)
Emits error message if 'name' was not found on the command line

void CompulsoryArgs(int num)
Defines the number of compulsory anonymous arguments. It must be used after all options have been called!

void PrintUsage()
Print usage to sout.

BooleanT SaveOptions(StringC filename)
Save options to a file.

BooleanT LoadOptions(StringC filename)
Save options to a file.

StringC GetOption1(const char * name)
Get option with one arg.

StringC GetOptionsTxt(const char * name,int nargs)
Get option with multiple but fixed no of args. Concatinate into one string.

BooleanT IsParam(const StringC & arg) const
Is argument a paramiter.

BooleanT IsProcessed(const StringC & str) const
Has arg been processed.

void MarkProcessed(StringC & str) const
Has arg been processed.

BooleanT IsUsed(const char * option) const
has option been used already ?
Note this only works in debug mode!

BooleanT GetOption0(const char * name)
Get option with one arg.

DListC<StringC> GetOptions(const char * name,int nargs)
Get option with multiple but fixed no of args.

void Init()
Do sort out some standard options.

void Error(const StringC & text)
Add an error.

void Depend(const StringC & text)
Add an depend.


Programmer:George Matas / Radek Marik , Documentation by CxxDoc: Tue Mar 20 10:49:27 2001