27 #include "../common/Translator.h"
34 #include <boost/lexical_cast.hpp>
40 return new Char(boost::lexical_cast<char>(static_cast<const Int32*>(d)->getValue()));
46 return new UChar(boost::lexical_cast<unsigned char>(static_cast<const Int32*>(d)->getValue()));
52 return new Int16(boost::lexical_cast<int16_t>(static_cast<const Int32*>(d)->getValue()));
58 return new UInt16(boost::lexical_cast<uint16_t>(static_cast<const Int32*>(d)->getValue()));
64 return new UInt32(static_cast<uint32_t>(static_cast<const Int32*>(d)->getValue()));
70 return new Int64(boost::lexical_cast<int64_t>(static_cast<const Int32*>(d)->getValue()));
76 return new UInt64(static_cast<uint64_t>(static_cast<const Int32*>(d)->getValue()));
84 if(static_cast<const Int32*>(d)->getValue() == 0)
93 return new Float(boost::lexical_cast<float>(static_cast<const Int32*>(d)->getValue()));
99 return new Double(boost::lexical_cast<double>(static_cast<const Int32*>(d)->getValue()));
105 return new Numeric(boost::lexical_cast<std::string>(static_cast<const Int32*>(d)->getValue()));
111 return new String(boost::lexical_cast<std::string>(static_cast<const Int32*>(d)->getValue()));
117 throw Exception(
TE_TR(
"The input data type is not a 32-bit integer!"));
124 return new Char(boost::lexical_cast<char>(static_cast<const UInt32*>(d)->getValue()));
130 return new UChar(boost::lexical_cast<unsigned char>(static_cast<const UInt32*>(d)->getValue()));
136 return new Int16(boost::lexical_cast<int16_t>(static_cast<const UInt32*>(d)->getValue()));
142 return new UInt16(boost::lexical_cast<uint16_t>(static_cast<const UInt32*>(d)->getValue()));
148 return new Int32(boost::lexical_cast<int32_t>(static_cast<const UInt32*>(d)->getValue()));
154 return new Int64(boost::lexical_cast<int64_t>(static_cast<const UInt32*>(d)->getValue()));
160 return new UInt64(static_cast<uint64_t>(static_cast<const UInt32*>(d)->getValue()));
168 if(static_cast<const UInt32*>(d)->getValue() == 0)
177 return new Float(boost::lexical_cast<float>(static_cast<const UInt32*>(d)->getValue()));
183 return new Double(boost::lexical_cast<double>(static_cast<const UInt32*>(d)->getValue()));
189 return new Numeric(boost::lexical_cast<std::string>(static_cast<const UInt32*>(d)->getValue()));
195 return new String(boost::lexical_cast<std::string>(static_cast<const UInt32*>(d)->getValue()));
201 throw Exception(
TE_TR(
"The input data type is not an unsigned 32-bit integer!"));
SimpleData< std::string, STRING_TYPE > String
SimpleData< unsigned char, UCHAR_TYPE > UChar
An exception class for the DataType module.
void AssertInt32(AbstractData *d)
Auxiliary method that asserts that the given data is an Int32 type.
SimpleData< boost::int64_t, INT64_TYPE > Int64
AbstractData * Int32ToBooleanConverter(AbstractData *d)
It converts an Int32 data value to a boolean data value.
SimpleData< boost::int32_t, INT32_TYPE > Int32
AbstractData * UInt32ToBooleanConverter(AbstractData *d)
It converts an unsigned Int32 data value to a boolean data value.
AbstractData * UInt32ToStringConverter(AbstractData *d)
It converts an unsigned Int32 data value to a string data value.
SimpleData< float, FLOAT_TYPE > Float
AbstractData * Int32ToStringConverter(AbstractData *d)
It converts an Int32 data value to a string data value.
#define TE_TR(message)
It marks a string in order to get translated.
AbstractData * Int32ToCharConverter(AbstractData *d)
It converts an Int32 data value to a char data value.
AbstractData * UInt32ToUInt16Converter(AbstractData *d)
It converts an unsigned Int32 data value to an unsigned Int16 data value.
SimpleData< std::string, NUMERIC_TYPE > Numeric
AbstractData * Int32ToDoubleConverter(AbstractData *d)
It converts an Int32 data value to a double value.
AbstractData * UInt32ToInt32Converter(AbstractData *d)
It converts an unsigned Int32 data value to an Int32 data value.
AbstractData * UInt32ToFloatConverter(AbstractData *d)
It converts an unsigned Int32 data value to a float value.
SimpleData< boost::uint64_t, UINT64_TYPE > UInt64
A base class for values that can be retrieved from the data access module.
AbstractData * UInt32ToNumericConverter(AbstractData *d)
It converts an unsigned Int32 data value to Numeric data value.
AbstractData * Int32ToUInt32Converter(AbstractData *d)
It converts an Int32 data value to an unsigned Int32 data value.
AbstractData * UInt32ToInt16Converter(AbstractData *d)
It converts an unsigned Int32 data value to a Int16 data value.
AbstractData * UInt32ToCharConverter(AbstractData *d)
It converts an unsigned Int32 data value to a char data value.
AbstractData * Int32ToNumericConverter(AbstractData *d)
It converts an Int32 data value to Numeric data value.
A set of function that convert an Integer type to other types.
AbstractData * Int32ToInt64Converter(AbstractData *d)
It converts an Int32 data value to a Int64 data value.
void AssertUInt32(AbstractData *d)
Auxiliary method that asserts that the given data is an unsigned Int32 type.
SimpleData< bool, BOOLEAN_TYPE > Boolean
AbstractData * UInt32ToUInt64Converter(AbstractData *d)
It converts an unsigned Int32 data value to an unsigned Int64 data value.
SimpleData< double, DOUBLE_TYPE > Double
SimpleData< char, CHAR_TYPE > Char
AbstractData * Int32ToFloatConverter(AbstractData *d)
It converts an Int32 data value to a float value.
AbstractData * UInt32ToDoubleConverter(AbstractData *d)
It converts an unsigned Int32 data value to a double value.
SimpleData< boost::uint16_t, UINT16_TYPE > UInt16
General enumerations for the data type module.
AbstractData * Int32ToUInt16Converter(AbstractData *d)
It converts an Int32 data value to an unsigned Int16 data value.
This file contains several implementations for atomic data types (integers, floats, strings and others).
SimpleData< boost::int16_t, INT16_TYPE > Int16
AbstractData * Int32ToInt16Converter(AbstractData *d)
It converts an Int32 data value to a Int16 data value.
SimpleData< boost::uint32_t, UINT32_TYPE > UInt32
AbstractData * Int32ToUInt64Converter(AbstractData *d)
It converts an Int32 data value to an unsigned Int64 data value.
AbstractData * UInt32ToUCharConverter(AbstractData *d)
It converts an unsigned Int32 data value to an unsigned char data value.
AbstractData * UInt32ToInt64Converter(AbstractData *d)
It converts an unsigned Int32 data value to a Int64 data value.
AbstractData * Int32ToUCharConverter(AbstractData *d)
It converts an Int32 data value to an unsigned char data value.