Loading...
Searching...
No Matches
casacore::Param Class Reference
casa package (libcasa_casa) » Inputs_module » Inputs_module_internal_classes

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
const String & | getType () const
| get the string `key = value' for the parameter */ String keyVal() const { return key + "=" + value; }
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)

## Detailed Description

A simple keyword/value pair with internal help Strings.

### Intended use:

Internal

### Review Status

Reviewed By:
  UNKNOWN
Date Reviewed:
  before2004/08/25
Test programs:
  tParam

### Prerequisite

- none noted

### Etymology

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.

### Synopsis

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.

### Example

// 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++);
casacore::Param::key
String key
parameter name
Definition Param.h:215
casacore::Param::range
String range
range/validity/pre-check
Definition Param.h:227
casacore::Param::Param
Param()
constructors and destructor default constructor
casacore::Param::type
String type
type of parameter
Definition Param.h:224
casacore::Param::value
String value
parameter value
Definition Param.h:218
casacore::Param::unit
String unit
optional unit associated with value
Definition Param.h:230
casacore::Param::help
String help
help string
Definition Param.h:221
casacore::String
String: the storage and methods of handling collections of characters.
Definition String.h:223
casacore::Int
int Int
Definition aipstype.h:48

### Motivation

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.

### To Do

- fix the GetStringArray() function
- convert from Block<T> to Array<T> as return values.
- replace entirely with Casacore Keywords?

Definition at line 111 of file Param.h.

## Constructor & Destructor Documentation

## Param() [1/3]

casacore::Param::Param | ( |  | ) |

constructors and destructor default constructor

Referenced by operator<<, operator<<, operator=(), operator==(), operator>>, operator>>, and Param().

## Param() [2/3]

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

References help, key, range, type, unit, and value.

## Param() [3/3]

casacore::Param::Param | ( | const Param & |  | ) |

copy constructor

References Param().

## ~Param()

casacore::Param::~Param | ( |  | ) |

destructor

## Member Function Documentation

## get()

const String & casacore::Param::get | ( |  | ) | const

inline

get parameter value as a string

Definition at line 166 of file Param.h.

References value.

## getBool()

Bool casacore::Param::getBool | ( | Bool | do_prompt = False | ) | const

get a Boolean parameter value; prompt if switch is TRUE

References casacore::False.

## getDouble()

Double casacore::Param::getDouble | ( | Bool | do_prompt = False | ) | const

get a double parameter value; prompt if switch is TRUE

References casacore::False.

## getDoubleArray()

Block< Double > casacore::Param::getDoubleArray | ( | Bool | do_prompt = False | ) | const

get a Block<double> parameter value; prompt if switch is TRUE

References casacore::False.

## getHelp()

const String & casacore::Param::getHelp | ( |  | ) | const

inline

get parameter help string

Definition at line 170 of file Param.h.

References help.

## getIndex()

Int casacore::Param::getIndex | ( |  | ) | const

inline

get the index of a parameter

Definition at line 209 of file Param.h.

References index.

## getInt()

Int casacore::Param::getInt | ( | Bool | do_prompt = False | ) | const

get an Int parameter value; prompt if switch is TRUE

References casacore::False.

## getIntArray()

Block< Int > casacore::Param::getIntArray | ( | Bool | do_prompt = False | ) | const

get an Block<Int> parameter value; prompt if switch is TRUE

References casacore::False.

## getKey()

const String & casacore::Param::getKey | ( |  | ) | const

inline

get parameter name

Definition at line 174 of file Param.h.

References key.

## getRange()

const String & casacore::Param::getRange | ( |  | ) | const

inline

get the valid range of a parameter

Definition at line 186 of file Param.h.

References range.

## getString()

const String & casacore::Param::getString | ( | Bool | do_prompt = False | ) | const

get a String parameter value; prompt if switch is TRUE

References casacore::False.

## getStringArray()

Block< String > casacore::Param::getStringArray | ( | Bool | do_prompt = False | ) | const

get a Block<String> parameter value; prompt if switch is TRUE

References casacore::False.

## getType()

const String & casacore::Param::getType | ( |  | ) | const

inline

get the string `key = value' for the parameter */ String keyVal() const { return key + "=" + value; }

/** get the type of a parameter

Definition at line 182 of file Param.h.

References type.

## getUnit()

const String & casacore::Param::getUnit | ( |  | ) | const

inline

get the units of a parameter

Definition at line 190 of file Param.h.

References unit.

## isSystem()

Bool casacore::Param::isSystem | ( |  | ) | const

inline

check if a parameter is a system parameter

Definition at line 201 of file Param.h.

References system.

## operator=()

Param & casacore::Param::operator= | ( | const Param & |  | ) |

assignment operator

References Param().

## operator==()

Bool casacore::Param::operator== | ( | const Param & |  | ) | const

Equality comparitor.

Warning: This function ALWAYS returns false; I have no idea why it was designed to do this;

References Param().

## put()

Bool casacore::Param::put | ( | const String & | a_value | ) |

set new parameter value; return FALSE if invalid value

## setIndex()

void casacore::Param::setIndex | ( | Int | inx | ) |

inline

set an index for a program parameter

Definition at line 205 of file Param.h.

References index.

## setSystem()

void casacore::Param::setSystem | ( | Bool | val | ) |

inline

set a parameter as a system parameter

Definition at line 197 of file Param.h.

References system.

## Friends And Related Symbol Documentation

## operator<< [1/2]

AipsIO & operator<< | ( | AipsIO & | ,
|  | const Param & | p )

friend

References Param().

## operator<< [2/2]

ostream & operator<< | ( | ostream & | ,
|  | const Param & | p )

friend

I/O operators.

References Param().

## operator>> [1/2]

AipsIO & operator>> | ( | AipsIO & | ,
|  | Param & | p )

friend

References Param().

## operator>> [2/2]

istream & operator>> | ( | istream & | ,
|  | Param & | p )

friend

References Param().

## Member Data Documentation

## hasvalue

Bool casacore::Param::hasvalue

private

boolean data member which indicates the Param's key has a value.

Definition at line 233 of file Param.h.

## help

String casacore::Param::help

private

help string

Definition at line 221 of file Param.h.

Referenced by getHelp(), and Param().

## index

Int casacore::Param::index

private

index for program keywords (>=1)

Definition at line 239 of file Param.h.

Referenced by getIndex(), and setIndex().

## key

String casacore::Param::key

private

parameter name

Definition at line 215 of file Param.h.

Referenced by getKey(), and Param().

## range

String casacore::Param::range

private

range/validity/pre-check

Definition at line 227 of file Param.h.

Referenced by getRange(), and Param().

## system

Bool casacore::Param::system

private

boolean data member which indicates the Param is system wide.

Definition at line 236 of file Param.h.

Referenced by isSystem(), and setSystem().

## type

String casacore::Param::type

private

type of parameter

Definition at line 224 of file Param.h.

Referenced by getType(), and Param().

## unit

String casacore::Param::unit

private

optional unit associated with value

Definition at line 230 of file Param.h.

Referenced by getUnit(), and Param().

## value

String casacore::Param::value

private

parameter value

Definition at line 218 of file Param.h.

Referenced by get(), and Param().

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

- casa/Inputs/Param.h