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