![]() |
OpenMS
|
Class to hold strings, numeric values, lists of strings and lists of numeric values. More...
#include <OpenMS/DATASTRUCTURES/DataValue.h>
Public Types | |
| enum | DataType : unsigned char { STRING_VALUE , INT_VALUE , DOUBLE_VALUE , STRING_LIST , INT_LIST , DOUBLE_LIST , EMPTY_VALUE , SIZE_OF_DATATYPE } |
| Supported types for DataValue. More... | |
| enum | UnitType : unsigned char { UNIT_ONTOLOGY , MS_ONTOLOGY , OTHER } |
| Supported types for DataValue. More... | |
Public Member Functions | |
Constructors and destructors | |
| DataValue () | |
| Default constructor. More... | |
| DataValue (const DataValue &) | |
| Copy constructor. More... | |
| DataValue (DataValue &&) noexcept | |
| Move constructor. More... | |
| DataValue (const char *) | |
| specific constructor for char* (converted to string) More... | |
| DataValue (const std::string &) | |
| specific constructor for std::string values More... | |
| DataValue (const String &) | |
| specific constructor for string values More... | |
| DataValue (const QString &) | |
| specific constructor for QString values More... | |
| DataValue (const StringList &) | |
| specific constructor for string lists More... | |
| DataValue (const IntList &) | |
| specific constructor for integer lists More... | |
| DataValue (const DoubleList &) | |
| specific constructor for double lists More... | |
| DataValue (long double) | |
| specific constructor for long double values (note: the implementation uses double) More... | |
| DataValue (double) | |
| specific constructor for double values (note: the implementation uses double) More... | |
| DataValue (float) | |
| specific constructor for float values (note: the implementation uses double) More... | |
| DataValue (short int) | |
| specific constructor for short int values (note: the implementation uses SignedSize) More... | |
| DataValue (unsigned short int) | |
| specific constructor for unsigned short int values (note: the implementation uses SignedSize) More... | |
| DataValue (int) | |
| specific constructor for int values (note: the implementation uses SignedSize) More... | |
| DataValue (unsigned) | |
| specific constructor for unsigned int values (note: the implementation uses SignedSize) More... | |
| DataValue (long int) | |
| specific constructor for long int values (note: the implementation uses SignedSize) More... | |
| DataValue (unsigned long) | |
| specific constructor for unsigned long int values (note: the implementation uses SignedSize) More... | |
| DataValue (long long) | |
| specific constructor for long long int values (note: the implementation uses SignedSize) More... | |
| DataValue (unsigned long long) | |
| specific constructor for unsigned long long int values (note: the implementation uses SignedSize) More... | |
| DataValue (const ParamValue &) | |
| specific constructor for ParamValue More... | |
| ~DataValue () | |
| Destructor. More... | |
Cast operators | |
These methods are used when the DataType is known. If they are applied to a DataValue with the wrong DataType, an exception (Exception::ConversionError) is thrown. In particular, none of these operators will work for an empty DataValue (DataType EMPTY_VALUE) - except toChar(), which will return 0. | |
| operator ParamValue () const | |
| conversion operator to ParamValue based on DataType More... | |
| operator std::string () const | |
| conversion operator to string More... | |
| operator StringList () const | |
| conversion operator to string list More... | |
| operator IntList () const | |
| conversion operator to integer list More... | |
| operator DoubleList () const | |
| conversion operator to double list 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 DataValues to char*. More... | |
| StringList | toStringList () const |
| Explicitly convert DataValue to StringList. More... | |
| IntList | toIntList () const |
| Explicitly convert DataValue to IntList. More... | |
| DoubleList | toDoubleList () const |
| Explicitly convert DataValue to DoubleList. More... | |
Assignment operators | |
These methods are used to assign supported types directly to a DataValue object. | |
| DataValue & | operator= (const DataValue &) |
| Assignment operator. More... | |
| DataValue & | operator= (DataValue &&) noexcept |
| Move assignment operator. More... | |
| DataValue & | operator= (const char *) |
| specific assignment for char* (converted to string) More... | |
| DataValue & | operator= (const std::string &) |
| specific assignment for std::string values More... | |
| DataValue & | operator= (const String &) |
| specific assignment for string values More... | |
| DataValue & | operator= (const QString &) |
| specific assignment for QString values More... | |
| DataValue & | operator= (const StringList &) |
| specific assignment for string lists More... | |
| DataValue & | operator= (const IntList &) |
| specific assignment for integer lists More... | |
| DataValue & | operator= (const DoubleList &) |
| specific assignment for double lists More... | |
| DataValue & | operator= (const long double) |
| specific assignment for long double values (note: the implementation uses double) More... | |
| DataValue & | operator= (const double) |
| specific assignment for double values (note: the implementation uses double) More... | |
| DataValue & | operator= (const float) |
| specific assignment for float values (note: the implementation uses double) More... | |
| DataValue & | operator= (const short int) |
| specific assignment for short int values (note: the implementation uses SignedSize) More... | |
| DataValue & | operator= (const unsigned short int) |
| specific assignment for unsigned short int values (note: the implementation uses SignedSize) More... | |
| DataValue & | operator= (const int) |
| specific assignment for int values (note: the implementation uses SignedSize) More... | |
| DataValue & | operator= (const unsigned) |
| specific assignment for unsigned int values (note: the implementation uses SignedSize) More... | |
| DataValue & | operator= (const long int) |
| specific assignment for long int values (note: the implementation uses SignedSize) More... | |
| DataValue & | operator= (const unsigned long) |
| specific assignment for unsigned long int values (note: the implementation uses SignedSize) More... | |
| DataValue & | operator= (const long long) |
| specific assignment for long long int values (note: the implementation uses SignedSize) More... | |
| DataValue & | operator= (const unsigned long long) |
| specific assignment for unsigned long long int values (note: the implementation uses SignedSize) More... | |
Conversion operators | |
These methods can be used independent of the DataType. If you already know the DataType, you should use a cast operator! | |
| String | toString (bool full_precision=true) const |
Conversion to String full_precision Controls number of fractional digits for all double types or lists of double, 3 digits when false, and 15 when true. More... | |
| QString | toQString () const |
| Conversion to QString. More... | |
| DataType | valueType () const |
| returns the type of value stored More... | |
| bool | isEmpty () const |
| Test if the value is empty. More... | |
Static Public Attributes | |
| static const DataValue | EMPTY |
| Empty data value for comparisons. More... | |
| static const std::string | NamesOfDataType [SIZE_OF_DATATYPE] |
| Names of data types for DataValue. More... | |
Methods to handle units | |
These methods are used when the DataValue has an associated unit. | |
| DataType | value_type_ |
| Type of the currently stored value. More... | |
| UnitType | unit_type_ |
| Type of the currently stored unit. More... | |
| int32_t | unit_ |
| The unit of the data value (if it has one) using UO identifier, otherwise -1. More... | |
| union { | |
| SignedSize | ssize_ |
| double | dou_ |
| String * | str_ |
| StringList * | str_list_ |
| IntList * | int_list_ |
| DoubleList * | dou_list_ |
| } | data_ |
| Space to store the data. More... | |
| UnitType | getUnitType () const |
| returns the type of value stored More... | |
| void | setUnitType (const UnitType &u) |
| bool | hasUnit () const |
| Check if the value has a unit. More... | |
| const int32_t & | getUnit () const |
| Return the unit associated to this DataValue. More... | |
| void | setUnit (const int32_t &unit) |
| Sets the unit to the given String. More... | |
| std::ostream & | operator<< (std::ostream &, const DataValue &) |
| output stream operator More... | |
| bool | operator== (const DataValue &, const DataValue &) |
| Equality comparator. More... | |
| bool | operator< (const DataValue &, const DataValue &) |
| Smaller than comparator (for lists we use the size) More... | |
| bool | operator> (const DataValue &, const DataValue &) |
| Greater than comparator (for lists we use the size) More... | |
| bool | operator!= (const DataValue &, const DataValue &) |
| Equality comparator. More... | |
| void | clear_ () noexcept |
| Clears the current state of the DataValue and release every used memory. More... | |
Class to hold strings, numeric values, lists of strings and lists of numeric values.
| enum DataType : unsigned char |
Supported types for DataValue.
| Enumerator | |
|---|---|
| STRING_VALUE | string value |
| INT_VALUE | integer value |
| DOUBLE_VALUE | double value |
| STRING_LIST | string list |
| INT_LIST | integer list |
| DOUBLE_LIST | double list |
| EMPTY_VALUE | empty |
| SIZE_OF_DATATYPE | |
| enum UnitType : unsigned char |
Supported types for DataValue.
| Enumerator | |
|---|---|
| UNIT_ONTOLOGY | unit.ontology UO |
| MS_ONTOLOGY | ms.ontology MS |
| OTHER | undefined ontology |
| DataValue | ( | ) |
Default constructor.
| DataValue | ( | const char * | ) |
specific constructor for char* (converted to string)
| DataValue | ( | const std::string & | ) |
specific constructor for std::string values
| DataValue | ( | const QString & | ) |
specific constructor for QString values
| DataValue | ( | const StringList & | ) |
specific constructor for string lists
| DataValue | ( | const DoubleList & | ) |
specific constructor for double lists
| DataValue | ( | long double | ) |
specific constructor for long double values (note: the implementation uses double)
| DataValue | ( | double | ) |
specific constructor for double values (note: the implementation uses double)
| DataValue | ( | float | ) |
specific constructor for float values (note: the implementation uses double)
| DataValue | ( | short int | ) |
specific constructor for short int values (note: the implementation uses SignedSize)
| DataValue | ( | unsigned short int | ) |
specific constructor for unsigned short int values (note: the implementation uses SignedSize)
| DataValue | ( | int | ) |
specific constructor for int values (note: the implementation uses SignedSize)
| DataValue | ( | unsigned | ) |
specific constructor for unsigned int values (note: the implementation uses SignedSize)
| DataValue | ( | long int | ) |
specific constructor for long int values (note: the implementation uses SignedSize)
| DataValue | ( | unsigned long | ) |
specific constructor for unsigned long int values (note: the implementation uses SignedSize)
| DataValue | ( | long long | ) |
specific constructor for long long int values (note: the implementation uses SignedSize)
| DataValue | ( | unsigned long long | ) |
specific constructor for unsigned long long int values (note: the implementation uses SignedSize)
| DataValue | ( | const ParamValue & | ) |
specific constructor for ParamValue
| ~DataValue | ( | ) |
Destructor.
|
privatenoexcept |
Clears the current state of the DataValue and release every used memory.
| const int32_t& getUnit | ( | ) | const |
Return the unit associated to this DataValue.
|
inline |
returns the type of value stored
|
inline |
Check if the value has a unit.
|
inline |
Test if the value is empty.
Referenced by IDFilter::HasMetaValue< HitType >::operator()(), IDFilter::HasMaxMetaValue< HitType >::operator()(), IDFilter::HasMinMetaValue< HitType >::operator()(), and IDScoreSwitcherAlgorithm::switchScores().
| 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 DoubleList | ( | ) | const |
conversion operator to double list
| 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 SignedSize.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator IntList | ( | ) | const |
conversion operator to integer list
| 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 SignedSize.
| 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 SignedSize.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| operator ParamValue | ( | ) | const |
conversion operator to ParamValue based on DataType
| operator short int | ( | ) | const |
conversion operator to short int
Note: The implementation uses typedef SignedSize.
| 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 StringList | ( | ) | const |
conversion operator to string list
| 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 SignedSize.
| 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 SignedSize.
| 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 SignedSize.
| 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 SignedSize.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| DataValue& operator= | ( | const char * | ) |
specific assignment for char* (converted to string)
| DataValue& operator= | ( | const double | ) |
specific assignment for double values (note: the implementation uses double)
| DataValue& operator= | ( | const DoubleList & | ) |
specific assignment for double lists
| DataValue& operator= | ( | const float | ) |
specific assignment for float values (note: the implementation uses double)
| DataValue& operator= | ( | const int | ) |
specific assignment for int values (note: the implementation uses SignedSize)
| DataValue& operator= | ( | const long double | ) |
specific assignment for long double values (note: the implementation uses double)
| DataValue& operator= | ( | const long int | ) |
specific assignment for long int values (note: the implementation uses SignedSize)
| DataValue& operator= | ( | const long long | ) |
specific assignment for long long int values (note: the implementation uses SignedSize)
| DataValue& operator= | ( | const QString & | ) |
specific assignment for QString values
| DataValue& operator= | ( | const short int | ) |
specific assignment for short int values (note: the implementation uses SignedSize)
| DataValue& operator= | ( | const std::string & | ) |
specific assignment for std::string values
| DataValue& operator= | ( | const StringList & | ) |
specific assignment for string lists
| DataValue& operator= | ( | const unsigned long long | ) |
specific assignment for unsigned long long int values (note: the implementation uses SignedSize)
| DataValue& operator= | ( | const unsigned long | ) |
specific assignment for unsigned long int values (note: the implementation uses SignedSize)
| DataValue& operator= | ( | const unsigned short int | ) |
specific assignment for unsigned short int values (note: the implementation uses SignedSize)
| DataValue& operator= | ( | const unsigned | ) |
specific assignment for unsigned int values (note: the implementation uses SignedSize)
| void setUnit | ( | const int32_t & | unit | ) |
Sets the unit to the given String.
|
inline |
| 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'. |
| const char* toChar | ( | ) | const |
| DoubleList toDoubleList | ( | ) | const |
Explicitly convert DataValue to DoubleList.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| IntList toIntList | ( | ) | const |
Explicitly convert DataValue to IntList.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
| QString toQString | ( | ) | const |
Conversion to QString.
| String toString | ( | bool | full_precision = true | ) | const |
Conversion to String full_precision Controls number of fractional digits for all double types or lists of double, 3 digits when false, and 15 when true.
Referenced by OpenMS::StringConversions::append(), IDBoostGraph::GetScoreTgTVisitor::operator()(), and OpenMS::StringConversions::toString().
| StringList toStringList | ( | ) | const |
Explicitly convert DataValue to StringList.
| Exception::ConversionError | is thrown if a cast from the the wrong type is requested |
|
inline |
returns the type of value stored
Smaller than comparator (for lists we use the size)
|
friend |
output stream operator
Greater than comparator (for lists we use the size)
| union { ... } data_ |
Space to store the data.
|
static |
Empty data value for comparisons.
|
static |
Names of data types for DataValue.
|
protected |
The unit of the data value (if it has one) using UO identifier, otherwise -1.
|
protected |
Type of the currently stored unit.
|
protected |
Type of the currently stored value.