![]() |
OpenMS
|
Class to hold strings, numeric values, vectors of strings and vectors of numeric values using the stl types. More...
#include <OpenMS/DATASTRUCTURES/ParamValue.h>
Public Types | |
| enum | ValueType : unsigned char { STRING_VALUE , INT_VALUE , DOUBLE_VALUE , STRING_LIST , INT_LIST , DOUBLE_LIST , EMPTY_VALUE } |
| Supported types for ParamValue. More... | |
Public Member Functions | |
Constructors and destructors | |
| ParamValue () | |
| Default constructor. More... | |
| ParamValue (const ParamValue &) | |
| Copy constructor. More... | |
| ParamValue (ParamValue &&) noexcept | |
| Move constructor. More... | |
| ParamValue (const char *) | |
| specific constructor for char* (converted to string) More... | |
| ParamValue (const std::string &) | |
| specific constructor for std::string values More... | |
| ParamValue (const std::vector< std::string > &) | |
| specific constructor for string vectors More... | |
| ParamValue (const std::vector< int > &) | |
| specific constructor for integer vectors More... | |
| ParamValue (const std::vector< double > &) | |
| specific constructor for double vectors More... | |
| ParamValue (long double) | |
| specific constructor for long double values (note: the implementation uses double) More... | |
| ParamValue (double) | |
| specific constructor for double values (note: the implementation uses double) More... | |
| ParamValue (float) | |
| specific constructor for float values (note: the implementation uses double) More... | |
| ParamValue (short int) | |
| specific constructor for short int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue (unsigned short int) | |
| specific constructor for unsigned short int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue (int) | |
| specific constructor for int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue (unsigned) | |
| specific constructor for unsigned int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue (long int) | |
| specific constructor for long int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue (unsigned long) | |
| specific constructor for unsigned long int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue (long long) | |
| specific constructor for long long int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue (unsigned long long) | |
| specific constructor for unsigned long long int values (note: the implementation uses ptrdiff_t) More... | |
| ~ParamValue () | |
| Destructor. More... | |
Cast operators | |
These methods are used when the DataType is known. If they are applied to a ParamValue with the wrong DataType, an exception (Exception::ConversionError) is thrown. In particular, none of these operators will work for an empty ParamValue (DataType EMPTY_VALUE) - except toChar(), which will return 0. | |
| operator std::string () const | |
| conversion operator to string More... | |
| operator std::vector< std::string > () const | |
| conversion operator to string vector More... | |
| operator std::vector< int > () const | |
| conversion operator to integer vector More... | |
| operator std::vector< double > () const | |
| conversion operator to double vector More... | |
| operator long double () const | |
| conversion operator to long double More... | |
| operator double () const | |
| conversion operator to double More... | |
| operator float () const | |
| conversion operator to float More... | |
| operator short int () const | |
| conversion operator to short int More... | |
| operator unsigned short int () const | |
| conversion operator to unsigned short int More... | |
| operator int () const | |
| conversion operator to int More... | |
| operator unsigned int () const | |
| conversion operator to unsigned int More... | |
| operator long int () const | |
| conversion operator to long int More... | |
| operator unsigned long int () const | |
| conversion operator to unsigned long int More... | |
| operator long long () const | |
| conversion operator to long long More... | |
| operator unsigned long long () const | |
| conversion operator to unsigned long long More... | |
| bool | toBool () const |
| Conversion to bool. More... | |
| const char * | toChar () const |
| Convert ParamValues to char*. More... | |
| std::string | toString (bool full_precision=true) const |
| Convert ParamValue to string. More... | |
| std::vector< std::string > | toStringVector () const |
| Explicitly convert ParamValue to string vector. More... | |
| std::vector< int > | toIntVector () const |
| Explicitly convert ParamValue to IntList. More... | |
| std::vector< double > | toDoubleVector () const |
| Explicitly convert ParamValue to DoubleList. More... | |
Static Public Attributes | |
| static const ParamValue | EMPTY |
| Empty data value for comparisons. More... | |
Assignment operators | |
These methods are used to assign supported types directly to a ParamValue object. | |
| ValueType | value_type_ |
| Type of the currently stored value. More... | |
| union { | |
| ptrdiff_t | ssize_ |
| double | dou_ |
| std::string * | str_ |
| std::vector< std::string > * | str_list_ |
| std::vector< int > * | int_list_ |
| std::vector< double > * | dou_list_ |
| } | data_ |
| Space to store the data. More... | |
| ParamValue & | operator= (const ParamValue &) |
| Assignment operator. More... | |
| ParamValue & | operator= (ParamValue &&) noexcept |
| Move assignment operator. More... | |
| ParamValue & | operator= (const char *) |
| specific assignment for char* (converted to string) More... | |
| ParamValue & | operator= (const std::string &) |
| specific assignment for std::string values More... | |
| ParamValue & | operator= (const std::vector< std::string > &) |
| specific assignment for string vectors More... | |
| ParamValue & | operator= (const std::vector< int > &) |
| specific assignment for integer vectors More... | |
| ParamValue & | operator= (const std::vector< double > &) |
| specific assignment for double vectors More... | |
| ParamValue & | operator= (const long double) |
| specific assignment for long double values (note: the implementation uses double) More... | |
| ParamValue & | operator= (const double) |
| specific assignment for double values (note: the implementation uses double) More... | |
| ParamValue & | operator= (const float) |
| specific assignment for float values (note: the implementation uses double) More... | |
| ParamValue & | operator= (const short int) |
| specific assignment for short int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue & | operator= (const unsigned short int) |
| specific assignment for unsigned short int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue & | operator= (const int) |
| specific assignment for int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue & | operator= (const unsigned) |
| specific assignment for unsigned int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue & | operator= (const long int) |
| specific assignment for long int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue & | operator= (const unsigned long) |
| specific assignment for unsigned long int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue & | operator= (const long long) |
| specific assignment for long long int values (note: the implementation uses ptrdiff_t) More... | |
| ParamValue & | operator= (const unsigned long long) |
| specific assignment for unsigned long long int values (note: the implementation uses ptrdiff_t) More... | |
| ValueType | valueType () const |
| returns the type of value stored More... | |
| bool | isEmpty () const |
| Test if the value is empty. More... | |
| std::ostream & | operator<< (std::ostream &, const ParamValue &) |
| output stream operator More... | |
| bool | operator== (const ParamValue &, const ParamValue &) |
| Equality comparator. More... | |
| bool | operator< (const ParamValue &, const ParamValue &) |
| Smaller than comparator (for vectors we use the size) More... | |
| bool | operator> (const ParamValue &, const ParamValue &) |
| Greater than comparator (for vectors we use the size) More... | |
| bool | operator!= (const ParamValue &, const ParamValue &) |
| Equality comparator. More... | |
| void | clear_ () noexcept |
| Clears the current state of the ParamValue and release every used memory. More... | |
| static std::string | doubleToString (double value, bool full_precision=true) |
Class to hold strings, numeric values, vectors of strings and vectors of numeric values using the stl types.
| enum ValueType : unsigned char |
Supported types for ParamValue.
| Enumerator | |
|---|---|
| STRING_VALUE | string value |
| INT_VALUE | integer value |
| DOUBLE_VALUE | double value |
| STRING_LIST | string vector |
| INT_LIST | integer vector |
| DOUBLE_LIST | double vector |
| EMPTY_VALUE | empty value |
| ParamValue | ( | ) |
Default constructor.
| ParamValue | ( | const ParamValue & | ) |
Copy constructor.
|
noexcept |
Move constructor.
| ParamValue | ( | const char * | ) |
specific constructor for char* (converted to string)
| ParamValue | ( | const std::string & | ) |
specific constructor for std::string values
| ParamValue | ( | const std::vector< std::string > & | ) |
specific constructor for string vectors
| ParamValue | ( | const std::vector< int > & | ) |
specific constructor for integer vectors
| ParamValue | ( | const std::vector< double > & | ) |
specific constructor for double vectors
| ParamValue | ( | long double | ) |
specific constructor for long double values (note: the implementation uses double)
| ParamValue | ( | double | ) |
specific constructor for double values (note: the implementation uses double)
| ParamValue | ( | float | ) |
specific constructor for float values (note: the implementation uses double)
| ParamValue | ( | short int | ) |
specific constructor for short int values (note: the implementation uses ptrdiff_t)
| ParamValue | ( | unsigned short int | ) |
specific constructor for unsigned short int values (note: the implementation uses ptrdiff_t)
| ParamValue | ( | int | ) |
specific constructor for int values (note: the implementation uses ptrdiff_t)
| ParamValue | ( | unsigned | ) |
specific constructor for unsigned int values (note: the implementation uses ptrdiff_t)
| ParamValue | ( | long int | ) |
specific constructor for long int values (note: the implementation uses ptrdiff_t)
| ParamValue | ( | unsigned long | ) |
specific constructor for unsigned long int values (note: the implementation uses ptrdiff_t)
| ParamValue | ( | long long | ) |
specific constructor for long long int values (note: the implementation uses ptrdiff_t)
| ParamValue | ( | unsigned long long | ) |
specific constructor for unsigned long long int values (note: the implementation uses ptrdiff_t)
| ~ParamValue | ( | ) |
Destructor.
|
privatenoexcept |
Clears the current state of the ParamValue and release every used memory.
|
staticprivate |
Convert a double to std::string with full precision 15 decimal places are given, otherwise 3 numbers above 10000 or below 0.0001 are given in scientific notation (i.e. 1.0e04)
|
inline |
Test if the value is empty.
| operator double | ( | ) | const |
conversion operator to double
Note: The implementation uses typedef double (as opposed to float, double, long double.)
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator float | ( | ) | const |
conversion operator to float
Note: The implementation uses typedef double (as opposed to float, double, long double.)
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator int | ( | ) | const |
conversion operator to int
Note: The implementation uses typedef ptrdiff_t.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator long double | ( | ) | const |
conversion operator to long double
Note: The implementation uses typedef double (as opposed to float, double, long double.)
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator long int | ( | ) | const |
conversion operator to long int
Note: The implementation uses typedef ptrdiff_t.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator long long | ( | ) | const |
conversion operator to long long
Note: The implementation uses typedef ptrdiff_t.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator short int | ( | ) | const |
conversion operator to short int
Note: The implementation uses typedef ptrdiff_t.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator std::string | ( | ) | const |
conversion operator to string
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator std::vector< double > | ( | ) | const |
conversion operator to double vector
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator std::vector< int > | ( | ) | const |
conversion operator to integer vector
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator std::vector< std::string > | ( | ) | const |
conversion operator to string vector
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator unsigned int | ( | ) | const |
conversion operator to unsigned int
Note: The implementation uses typedef ptrdiff_t.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator unsigned long int | ( | ) | const |
conversion operator to unsigned long int
Note: The implementation uses typedef ptrdiff_t.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator unsigned long long | ( | ) | const |
conversion operator to unsigned long long
Note: The implementation uses typedef ptrdiff_t.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator unsigned short int | ( | ) | const |
conversion operator to unsigned short int
Note: The implementation uses typedef ptrdiff_t.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| ParamValue& operator= | ( | const char * | ) |
specific assignment for char* (converted to string)
| ParamValue& operator= | ( | const double | ) |
specific assignment for double values (note: the implementation uses double)
| ParamValue& operator= | ( | const float | ) |
specific assignment for float values (note: the implementation uses double)
| ParamValue& operator= | ( | const int | ) |
specific assignment for int values (note: the implementation uses ptrdiff_t)
| ParamValue& operator= | ( | const long double | ) |
specific assignment for long double values (note: the implementation uses double)
| ParamValue& operator= | ( | const long int | ) |
specific assignment for long int values (note: the implementation uses ptrdiff_t)
| ParamValue& operator= | ( | const long long | ) |
specific assignment for long long int values (note: the implementation uses ptrdiff_t)
| ParamValue& operator= | ( | const ParamValue & | ) |
Assignment operator.
| ParamValue& operator= | ( | const short int | ) |
specific assignment for short int values (note: the implementation uses ptrdiff_t)
| ParamValue& operator= | ( | const std::string & | ) |
specific assignment for std::string values
| ParamValue& operator= | ( | const std::vector< double > & | ) |
specific assignment for double vectors
| ParamValue& operator= | ( | const std::vector< int > & | ) |
specific assignment for integer vectors
| ParamValue& operator= | ( | const std::vector< std::string > & | ) |
specific assignment for string vectors
| ParamValue& operator= | ( | const unsigned long long | ) |
specific assignment for unsigned long long int values (note: the implementation uses ptrdiff_t)
| ParamValue& operator= | ( | const unsigned long | ) |
specific assignment for unsigned long int values (note: the implementation uses ptrdiff_t)
| ParamValue& operator= | ( | const unsigned short int | ) |
specific assignment for unsigned short int values (note: the implementation uses ptrdiff_t)
| ParamValue& operator= | ( | const unsigned | ) |
specific assignment for unsigned int values (note: the implementation uses ptrdiff_t)
|
noexcept |
Move assignment operator.
| bool toBool | ( | ) | const |
Conversion to bool.
Converts the strings 'true' and 'false' to a bool.
| Exception::ConversionError | is thrown for non-string parameters and string parameters with values other than 'true' and 'false'. |
Referenced by SignalToNoiseEstimatorMedian< Container >::updateMembers_().
| const char* toChar | ( | ) | const |
Convert ParamValues to char*.
If the ParamValue contains a string, a pointer to it's char* is returned. If the ParamValue is empty, nullptr is returned.
| std::vector<double> toDoubleVector | ( | ) | const |
Explicitly convert ParamValue to DoubleList.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| std::vector<int> toIntVector | ( | ) | const |
Explicitly convert ParamValue to IntList.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| std::string toString | ( | bool | full_precision = true | ) | const |
Convert ParamValue to string.
| Exception::ConversionError | is thrown for ParamValue::EMPTY and |
Referenced by TOPPViewBase::getCanvasParameters(), TOPPASBase::loadPreferences(), TOPPViewBase::loadPreferences(), main(), TOPPOpenSwathBase::performCalibration(), TOPPViewBase::savePreferences(), TOPPASBase::TOPPASBase(), TOPPViewBase::TOPPViewBase(), TOPPASBase::updateCurrentPath(), and TOPPViewBase::updateCurrentPath().
| std::vector<std::string> toStringVector | ( | ) | const |
Explicitly convert ParamValue to string vector.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
|
inline |
returns the type of value stored
|
friend |
Equality comparator.
|
friend |
Smaller than comparator (for vectors we use the size)
|
friend |
output stream operator
|
friend |
Equality comparator.
|
friend |
Greater than comparator (for vectors we use the size)
| union { ... } data_ |
Space to store the data.
|
static |
Empty data value for comparisons.
|
protected |
Type of the currently stored value.