casacore
Loading...
Searching...
No Matches

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
 
Paramoperator= (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< DoublegetDoubleArray (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< IntgetIntArray (Bool do_prompt=False) const
 get an Block<Int> parameter value; prompt if switch is TRUE
 
const StringgetString (Bool do_prompt=False) const
 get a String parameter value; prompt if switch is TRUE
 
Block< StringgetStringArray (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 Stringget () const
 get parameter value as a string
 
const StringgetHelp () const
 get parameter help string
 
const StringgetKey () const
 get parameter name

 
String keyVal () const
 get the string ‘key = value’ for the parameter
 
const StringgetType () const
 get the type of a parameter
 
const StringgetRange () const
 get the valid range of a parameter
 
const StringgetUnit () 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)
 
AipsIOoperator<< (AipsIO &, const Param &p)
 
AipsIOoperator>> (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++);
String key
parameter name
Definition Param.h:215
String range
range/validity/pre-check
Definition Param.h:227
String type
type of parameter
Definition Param.h:224
String value
parameter value
Definition Param.h:218
String unit
optional unit associated with value
Definition Param.h:230
String help
help string
Definition Param.h:221
String: the storage and methods of handling collections of characters.
Definition String.h:223
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

◆ 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

◆ Param() [3/3]

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

copy constructor

◆ ~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

◆ getDouble()

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

get a double parameter value; prompt if switch is TRUE

◆ getDoubleArray()

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

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

◆ 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

◆ getIntArray()

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

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

◆ 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

◆ getStringArray()

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

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

◆ getType()

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

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.

◆ keyVal()

String casacore::Param::keyVal ( ) const
inline

get the string ‘key = value’ for the parameter

Definition at line 178 of file Param.h.

References key, and value.

◆ operator=()

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

assignment operator

◆ 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;

◆ 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

◆ operator<< [2/2]

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

I/O operators.

◆ operator>> [1/2]

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

◆ operator>> [2/2]

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

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().

◆ 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 keyVal().

◆ range

String casacore::Param::range
private

range/validity/pre-check

Definition at line 227 of file Param.h.

Referenced by getRange().

◆ 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().

◆ unit

String casacore::Param::unit
private

optional unit associated with value

Definition at line 230 of file Param.h.

Referenced by getUnit().

◆ value

String casacore::Param::value
private

parameter value

Definition at line 218 of file Param.h.

Referenced by get(), and keyVal().


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