casa
$Rev:20696$
|
A simple keyword/value pair with internal help Strings. More...
#include <Param.h>
Public Member Functions | |
Param () | |
constructors and destructor default constructor | |
Param (const String &key, const String &value, const String &help, const String &type, const String &range, const String &unit) | |
normal constructor with optional value and help strings | |
Param (const Param &) | |
copy constructor | |
~Param () | |
destructor | |
Param & | operator= (const Param &) |
assignment operator | |
Bool | operator== (const Param &) const |
Equality comparitor. | |
Double | getDouble (Bool do_prompt=False) const |
get a double parameter value; prompt if switch is TRUE | |
Block< Double > | getDoubleArray (Bool do_prompt=False) const |
get a Block<double> parameter value; prompt if switch is TRUE | |
Int | getInt (Bool do_prompt=False) const |
get an Int parameter value; prompt if switch is TRUE | |
Block< Int > | getIntArray (Bool do_prompt=False) const |
get an Block<Int> parameter value; prompt if switch is TRUE | |
const String & | getString (Bool do_prompt=False) const |
get a String parameter value; prompt if switch is TRUE | |
Block< String > | getStringArray (Bool do_prompt=False) const |
get a Block<String> parameter value; prompt if switch is TRUE | |
Bool | getBool (Bool do_prompt=False) const |
get a Boolean parameter value; prompt if switch is TRUE | |
const String & | get () const |
get parameter value as a string | |
const String & | getHelp () const |
get parameter help string | |
const String & | getKey () const |
get parameter name | |
String | keyVal () const |
get the string `key = value' for the parameter | |
const String & | getType () const |
get the type of a parameter | |
const String & | getRange () const |
get the valid range of a parameter | |
const String & | getUnit () const |
get the units of a parameter | |
Bool | put (const String &a_value) |
set new parameter value; return FALSE if invalid value | |
void | setSystem (Bool val) |
set a parameter as a system parameter | |
Bool | isSystem () const |
check if a parameter is a system parameter | |
void | setIndex (Int inx) |
set an index for a program parameter | |
Int | getIndex () const |
get the index of a parameter | |
Private Attributes | |
String | key |
parameter name | |
String | value |
parameter value | |
String | help |
help string | |
String | type |
type of parameter | |
String | range |
range/validity/pre-check | |
String | unit |
optional unit associated with value | |
Bool | hasvalue |
boolean data member which indicates the Param's key has a value. | |
Bool | system |
boolean data member which indicates the Param is system wide. | |
Int | index |
index for program keywords (>=1) | |
Friends | |
ostream & | operator<< (ostream &, const Param &p) |
I/O operators. | |
istream & | operator>> (istream &, Param &p) |
AipsIO & | operator<< (AipsIO &, const Param &p) |
AipsIO & | operator>> (AipsIO &, Param &p) |
A simple keyword/value pair with internal help Strings.
Internal
The Param class name is a shortening of "parameter" and is indicative of the class being designed as a keyword/value pair relating to command line arguments. The existing Keyword class does a much better job for most other purposes.
The Param is constructed with all arguments being Strings. This is a reflection of the C-type command line argument method of passing an integer (argc or argument count) and an array of pointers to characters (argv or argument vector.) If "char* argv[]" is broken into its individual arguments they may be used to fill a Param. The constructor pairs up a "key" to a value. A help String argument is provided to assist in prompted filling of Param values. The expected return type may be entered as well as a range of potential values. Finally, the units of the value are also specified. The intent is to provide a well documented value and a "key" by which to "call" it.
The "getWhatever" member functions of Param convert the internal Strings into the desired output data type. The Strings themselves may also be returned.
// we will create a Param which contains the boundary for an iteration loop. String key("IterBound"); // give "IterBound" a default value String value("200"); // a help String for prompting String help("The Boundary value for the chutzpah iterator."); // The expected return type is an integer String type("Int"); // The range of "legal" values String range("10-10000"); // the units of the value String unit("unitless"): // Now we may build our Param Param PleaseDontTouchMeThere(key, value, help, type, range, unit); // to retrieve the value we use the GetInt function for (Int i=0, i<PleaseDontTouchMeThere.getInt(); i++, chutzpah++);
The Param class was an early attempt at keywords within AIPS++. They have become obsolete but hang on due to their relationship with the Input class.
constructors and destructor default constructor
casa::Param::Param | ( | const String & | key, |
const String & | value, | ||
const String & | help, | ||
const String & | type, | ||
const String & | range, | ||
const String & | unit | ||
) |
normal constructor with optional value and help strings
casa::Param::Param | ( | const Param & | ) |
copy constructor
destructor
const String& casa::Param::get | ( | ) | const [inline] |
Bool casa::Param::getBool | ( | Bool | do_prompt = False | ) | const |
get a Boolean parameter value; prompt if switch is TRUE
Double casa::Param::getDouble | ( | Bool | do_prompt = False | ) | const |
get a double parameter value; prompt if switch is TRUE
Block<Double> casa::Param::getDoubleArray | ( | Bool | do_prompt = False | ) | const |
get a Block<double> parameter value; prompt if switch is TRUE
const String& casa::Param::getHelp | ( | ) | const [inline] |
Int casa::Param::getIndex | ( | ) | const [inline] |
Int casa::Param::getInt | ( | Bool | do_prompt = False | ) | const |
get an Int parameter value; prompt if switch is TRUE
Block<Int> casa::Param::getIntArray | ( | Bool | do_prompt = False | ) | const |
get an Block<Int> parameter value; prompt if switch is TRUE
const String& casa::Param::getKey | ( | ) | const [inline] |
const String& casa::Param::getRange | ( | ) | const [inline] |
const String& casa::Param::getString | ( | Bool | do_prompt = False | ) | const |
get a String parameter value; prompt if switch is TRUE
Block<String> casa::Param::getStringArray | ( | Bool | do_prompt = False | ) | const |
get a Block<String> parameter value; prompt if switch is TRUE
const String& casa::Param::getType | ( | ) | const [inline] |
const String& casa::Param::getUnit | ( | ) | const [inline] |
Bool casa::Param::isSystem | ( | ) | const [inline] |
String casa::Param::keyVal | ( | ) | const [inline] |
Equality comparitor.
Warning: This function ALWAYS returns false; I have no idea why it was designed to do this;
Bool casa::Param::put | ( | const String & | a_value | ) |
set new parameter value; return FALSE if invalid value
void casa::Param::setIndex | ( | Int | inx | ) | [inline] |
void casa::Param::setSystem | ( | Bool | val | ) | [inline] |
ostream& operator<< | ( | ostream & | , |
const Param & | p | ||
) | [friend] |
I/O operators.
istream& operator>> | ( | istream & | , |
Param & | p | ||
) | [friend] |
Bool casa::Param::hasvalue [private] |
String casa::Param::help [private] |
Int casa::Param::index [private] |
index for program keywords (>=1)
Definition at line 241 of file Param.h.
Referenced by getIndex(), and setIndex().
String casa::Param::key [private] |
String casa::Param::range [private] |
Bool casa::Param::system [private] |
boolean data member which indicates the Param is system wide.
Definition at line 238 of file Param.h.
Referenced by isSystem(), and setSystem().
String casa::Param::type [private] |
String casa::Param::unit [private] |
String casa::Param::value [private] |