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 Casacore. They have become obsolete but hang on due to their relationship with the Input class.
Definition at line 113 of file Param.h.
casacore::Param::Param | ( | ) |
constructors and destructor default constructor
casacore::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
casacore::Param::Param | ( | const Param & | ) |
copy constructor
casacore::Param::~Param | ( | ) |
destructor
const String& casacore::Param::get | ( | ) | const [inline] |
get a Boolean parameter value; prompt if switch is TRUE
get a double parameter value; prompt if switch is TRUE
get a Block<double> parameter value; prompt if switch is TRUE
const String& casacore::Param::getHelp | ( | ) | const [inline] |
Int casacore::Param::getIndex | ( | ) | const [inline] |
get an Int parameter value; prompt if switch is TRUE
get an Block<Int> parameter value; prompt if switch is TRUE
const String& casacore::Param::getKey | ( | ) | const [inline] |
const String& casacore::Param::getRange | ( | ) | const [inline] |
get a String parameter value; prompt if switch is TRUE
get a Block<String> parameter value; prompt if switch is TRUE
const String& casacore::Param::getType | ( | ) | const [inline] |
const String& casacore::Param::getUnit | ( | ) | const [inline] |
Bool casacore::Param::isSystem | ( | ) | const [inline] |
String casacore::Param::keyVal | ( | ) | const [inline] |
Equality comparitor.
Warning: This function ALWAYS returns false; I have no idea why it was designed to do this;
set new parameter value; return FALSE if invalid value
void casacore::Param::setIndex | ( | Int | inx | ) | [inline] |
void casacore::Param::setSystem | ( | Bool | val | ) | [inline] |
ostream& operator<< | ( | ostream & | , | |
const Param & | p | |||
) | [friend] |
I/O operators.
istream& operator>> | ( | istream & | , | |
Param & | p | |||
) | [friend] |
Bool casacore::Param::hasvalue [private] |
String casacore::Param::help [private] |
Int casacore::Param::index [private] |
index for program keywords (>=1)
Definition at line 241 of file Param.h.
Referenced by getIndex(), and setIndex().
String casacore::Param::key [private] |
String casacore::Param::range [private] |
Bool casacore::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 casacore::Param::type [private] |
String casacore::Param::unit [private] |
String casacore::Param::value [private] |