![]() |
KaliVeda
Toolkit for HIC analysis
|
A generic named parameter storing values of different types.
The four different types which are handled are: int, double, bool, TString:
The same parameter can be reused to store a value with a different type:
To retrieve the value of the parameter, its type must be given. This need not be the original type of the parameter, some common sense transformations are allowed:
Two types of comparison are possible. The == operator or member function IsEqual() test for strict equality between two parameters, i.e. they must have the same type, value, and name:
On the other hand, HasTheSameValueAs() returns true as long as both parameters have the same type and value:
The methods WriteToEnv(TEnv*, const TString &) and Set(TEnv*, const TString &) can be used to read/write parameter lists from/to ROOT resource files (.rootrc-style files).
Add(const KVNamedParameter &) will sum the values of two numerical parameters or concatenate two string parameters with a separating comma.
Definition at line 90 of file KVNamedParameter.h.
#include <KVNamedParameter.h>

Classes | |
| struct | typecode< bool > |
| struct | typecode< cstring > |
| struct | typecode< double > |
| struct | typecode< int > |
| struct | typecode< KVString > |
| struct | typecode< std::string > |
| struct | typecode< TString > |
Public Member Functions | |
| KVNamedParameter () | |
| Default constructor. More... | |
| KVNamedParameter (const char *) | |
| KVNamedParameter (const char *, Bool_t) | |
| KVNamedParameter (const char *, const char *) | |
| KVNamedParameter (const char *, const KVNamedParameter &) | |
| Create parameter with given name "nom", and the type & value of "p". More... | |
| KVNamedParameter (const char *, const std::string &) | |
| KVNamedParameter (const char *, Double_t) | |
| KVNamedParameter (const char *, Int_t) | |
| virtual | ~KVNamedParameter () |
| Destructor. More... | |
| void | Add (const KVNamedParameter &p) |
| TString | AsSQLSelection () const |
| void | Clear (Option_t *="") override |
| Removes the name and any assigned value. More... | |
| Int_t | Compare (const TObject *obj) const override |
| Compares numerical parameters for sorting lists (such as KVNameValueList) More... | |
| template<typename T > | |
| T | Get () const |
| template<> | |
| int | Get () const |
| template<> | |
| double | Get () const |
| template<> | |
| bool | Get () const |
| template<> | |
| KVString | Get () const |
| template<> | |
| TString | Get () const |
| template<> | |
| cstring | Get () const |
| Bool_t | GetBool () const |
| Double_t | GetDouble () const |
| Int_t | GetInt () const |
| TString | GetSQLType () const |
| const Char_t * | GetString () const |
| TString | GetTString () const |
| Bool_t | HasSameValueAs (const KVNamedParameter &) const |
| template<typename T > | |
| Bool_t | Is () const |
| Bool_t | IsBool () const |
| Bool_t | IsDouble () const |
| Bool_t | IsEqual (const TObject *obj) const override |
| Bool_t | IsInt () const |
| Bool_t | IsNumber () const |
| Bool_t | IsString () const |
| TString | List (Option_t *opt="") const |
| void | ls (Option_t *opt="") const override |
| Bool_t | operator== (const KVNamedParameter &) const |
| void | Print (Option_t *opt="") const override |
| void | Set (Bool_t) |
| void | Set (const char *) |
| void | Set (const char *, Bool_t) |
| void | Set (const char *, const char *) |
| void | Set (const char *, const KVNamedParameter &) |
| Set parameter name "nom" with the type & value of "p". More... | |
| void | Set (const char *, const std::string &) |
| void | Set (const char *, Double_t) |
| void | Set (const char *, Int_t) |
| void | Set (const std::string &) |
| void | Set (Double_t) |
| void | Set (Int_t) |
| void | Set (TEnv *, const TString &p="") |
| void Set(const KVNamedParameter&); More... | |
| void | WriteToEnv (TEnv *, const TString &p="") |
| Write parameter in TEnv, using optional prefix p as "p.[name]". More... | |
Static Public Member Functions | |
| template<typename T > | |
| static T | DefaultValue () |
| template<> | |
| int | DefaultValue () |
| template<> | |
| double | DefaultValue () |
| template<> | |
| bool | DefaultValue () |
| template<> | |
| TString | DefaultValue () |
| template<> | |
| KVString | DefaultValue () |
| template<> | |
| cstring | DefaultValue () |
Friends | |
| class | KVNameValueList |
| KVNamedParameter::KVNamedParameter | ( | ) |
Default constructor.
Definition at line 17 of file KVNamedParameter.cpp.
| KVNamedParameter::KVNamedParameter | ( | const char * | nom | ) |
Definition at line 37 of file KVNamedParameter.cpp.
| KVNamedParameter::KVNamedParameter | ( | const char * | nom, |
| const char * | val | ||
| ) |
Definition at line 47 of file KVNamedParameter.cpp.
| KVNamedParameter::KVNamedParameter | ( | const char * | nom, |
| const std::string & | val | ||
| ) |
Definition at line 79 of file KVNamedParameter.cpp.
| KVNamedParameter::KVNamedParameter | ( | const char * | nom, |
| Double_t | val | ||
| ) |
Definition at line 111 of file KVNamedParameter.cpp.
| KVNamedParameter::KVNamedParameter | ( | const char * | nom, |
| Int_t | val | ||
| ) |
Definition at line 143 of file KVNamedParameter.cpp.
| KVNamedParameter::KVNamedParameter | ( | const char * | nom, |
| Bool_t | val | ||
| ) |
Definition at line 153 of file KVNamedParameter.cpp.
| KVNamedParameter::KVNamedParameter | ( | const char * | nom, |
| const KVNamedParameter & | p | ||
| ) |
Create parameter with given name "nom", and the type & value of "p".
Definition at line 164 of file KVNamedParameter.cpp.
|
virtual |
Destructor.
Definition at line 28 of file KVNamedParameter.cpp.
| void KVNamedParameter::Add | ( | const KVNamedParameter & | p | ) |
Numerical values: Add the numerical value of "p" to this parameter Strings: add string to comma-separated list of values If parameters are not same type, print warning and do nothing
Definition at line 213 of file KVNamedParameter.cpp.
| TString KVNamedParameter::AsSQLSelection | ( | ) | const |
if parameter is type "TEXT" we enclose the value in single quotes
Definition at line 641 of file KVNamedParameter.cpp.
|
override |
Removes the name and any assigned value.
Definition at line 290 of file KVNamedParameter.cpp.
|
override |
Compares numerical parameters for sorting lists (such as KVNameValueList)
Definition at line 583 of file KVNamedParameter.cpp.
|
static |
|
inlinestatic |
Definition at line 237 of file KVNamedParameter.h.
|
inlinestatic |
Definition at line 241 of file KVNamedParameter.h.
|
inlinestatic |
Definition at line 245 of file KVNamedParameter.h.
|
inlinestatic |
Definition at line 249 of file KVNamedParameter.h.
|
inlinestatic |
Definition at line 253 of file KVNamedParameter.h.
|
inlinestatic |
Definition at line 257 of file KVNamedParameter.h.
|
inline |
compile-time error if one of allowed specializations not used
Definition at line 158 of file KVNamedParameter.h.
|
inline |
Definition at line 209 of file KVNamedParameter.h.
|
inline |
Definition at line 213 of file KVNamedParameter.h.
|
inline |
Definition at line 217 of file KVNamedParameter.h.
|
inline |
Definition at line 221 of file KVNamedParameter.h.
|
inline |
Definition at line 225 of file KVNamedParameter.h.
|
inline |
Definition at line 229 of file KVNamedParameter.h.
| Bool_t KVNamedParameter::GetBool | ( | ) | const |
returns boolean if parameter value is of boolean type if string, conversion to integer is attempted
Definition at line 381 of file KVNamedParameter.cpp.
| Double_t KVNamedParameter::GetDouble | ( | ) | const |
returns double if parameter value is of numerical type if string, conversion to floating point is attempted
Definition at line 347 of file KVNamedParameter.cpp.
| Int_t KVNamedParameter::GetInt | ( | ) | const |
returns integer if parameter value is of numerical type if string, conversion to integer is attempted
Definition at line 364 of file KVNamedParameter.cpp.
| TString KVNamedParameter::GetSQLType | ( | ) | const |
Definition at line 616 of file KVNamedParameter.cpp.
| const Char_t * KVNamedParameter::GetString | ( | ) | const |
Definition at line 326 of file KVNamedParameter.cpp.
| TString KVNamedParameter::GetTString | ( | ) | const |
Definition at line 304 of file KVNamedParameter.cpp.
| Bool_t KVNamedParameter::HasSameValueAs | ( | const KVNamedParameter & | other | ) | const |
Returns kTRUF if the two parameters have the same type and the same value (don't care about parameter names)
Definition at line 429 of file KVNamedParameter.cpp.
|
inline |
Definition at line 289 of file KVNamedParameter.h.
|
inline |
Definition at line 182 of file KVNamedParameter.h.
|
inline |
Definition at line 174 of file KVNamedParameter.h.
|
override |
Test for equality between two parameters Returns kTRUE if both the name, the type, and the value of the parameters are identical
Definition at line 398 of file KVNamedParameter.cpp.
|
inline |
Definition at line 178 of file KVNamedParameter.h.
|
inline |
Definition at line 186 of file KVNamedParameter.h.
|
inline |
Definition at line 170 of file KVNamedParameter.h.
| TString KVNamedParameter::List | ( | Option_t * | option = "" | ) | const |
compact listing of parameter name & value, used by KVNameValueList::Print option controls what is printed: "" (default) : all parameters "int" : only integer parameters "bool" : only boolean parameters "double" : only double parameters "string" : only string parameters
Definition at line 535 of file KVNamedParameter.cpp.
|
override |
compact listing of parameter name & value, used by KVNameValueList::Print option controls what is printed: "" (default) : all parameters "int" : only integer parameters "bool" : only boolean parameters "double" : only double parameters "string" : only string parameters
Definition at line 481 of file KVNamedParameter.cpp.
| Bool_t KVNamedParameter::operator== | ( | const KVNamedParameter & | other | ) | const |
Test for equality between two parameters Returns kTRUE if both the name, the type, and the value of the parameters are identical
Definition at line 414 of file KVNamedParameter.cpp.
|
override |
Definition at line 461 of file KVNamedParameter.cpp.
| void KVNamedParameter::Set | ( | Bool_t | val | ) |
Definition at line 247 of file KVNamedParameter.cpp.
| void KVNamedParameter::Set | ( | const char * | val | ) |
Definition at line 68 of file KVNamedParameter.cpp.
| void KVNamedParameter::Set | ( | const char * | name, |
| Bool_t | val | ||
| ) |
Definition at line 186 of file KVNamedParameter.cpp.
| void KVNamedParameter::Set | ( | const char * | name, |
| const char * | val | ||
| ) |
Definition at line 57 of file KVNamedParameter.cpp.
| void KVNamedParameter::Set | ( | const char * | nom, |
| const KVNamedParameter & | p | ||
| ) |
Set parameter name "nom" with the type & value of "p".
Definition at line 198 of file KVNamedParameter.cpp.
| void KVNamedParameter::Set | ( | const char * | name, |
| const std::string & | val | ||
| ) |
Definition at line 89 of file KVNamedParameter.cpp.
| void KVNamedParameter::Set | ( | const char * | name, |
| Double_t | val | ||
| ) |
Definition at line 121 of file KVNamedParameter.cpp.
| void KVNamedParameter::Set | ( | const char * | name, |
| Int_t | val | ||
| ) |
Definition at line 175 of file KVNamedParameter.cpp.
| void KVNamedParameter::Set | ( | const std::string & | val | ) |
Definition at line 100 of file KVNamedParameter.cpp.
| void KVNamedParameter::Set | ( | Double_t | val | ) |
Definition at line 132 of file KVNamedParameter.cpp.
| void KVNamedParameter::Set | ( | Int_t | val | ) |
Definition at line 236 of file KVNamedParameter.cpp.
| void KVNamedParameter::Set | ( | TEnv * | e, |
| const TString & | p = "" |
||
| ) |
void Set(const KVNamedParameter&);
Look for value in TEnv with same name as this parameter, or prefixed with "p." If found, set value according to TEnv
Definition at line 271 of file KVNamedParameter.cpp.
| void KVNamedParameter::WriteToEnv | ( | TEnv * | e, |
| const TString & | p = "" |
||
| ) |
Write parameter in TEnv, using optional prefix p as "p.[name]".
Definition at line 599 of file KVNamedParameter.cpp.
|
friend |
Definition at line 92 of file KVNamedParameter.h.