17 #ifndef STROMX_RUNTIME_PRIMITIVE_H 18 #define STROMX_RUNTIME_PRIMITIVE_H 21 #include <tr1/cstdint> 26 #include "stromx/runtime/Data.h" 27 #include "stromx/runtime/Version.h" 33 template<
typename data_t>
34 class NumericParameter;
37 template <
class repr_t,
class val_t>
45 explicit Primitive(
const repr_t value) : m_value(val_t(value)) {}
47 virtual const std::string &
type()
const {
return TYPE; }
49 virtual const std::string &
package()
const {
return PACKAGE; }
60 const repr_t
get()
const {
return m_value; }
63 operator repr_t()
const {
return get(); }
68 m_value = val_t(value);
79 static const std::string TYPE;
80 static const std::string PACKAGE;
97 class STROMX_RUNTIME_API data_traits<Bool>
115 class STROMX_RUNTIME_API data_traits<Int8>
133 class STROMX_RUNTIME_API data_traits<UInt8>
151 class STROMX_RUNTIME_API data_traits<Int16>
169 class STROMX_RUNTIME_API data_traits<UInt16>
187 class STROMX_RUNTIME_API data_traits<Int32>
205 class STROMX_RUNTIME_API data_traits<UInt32>
223 class STROMX_RUNTIME_API data_traits<Int64>
241 class STROMX_RUNTIME_API data_traits<UInt64>
259 class STROMX_RUNTIME_API data_traits<Float32>
277 class STROMX_RUNTIME_API data_traits<Float64>
290 STROMX_RUNTIME_API int64_t
toInt(
const Data & data);
316 #endif // STROMX_RUNTIME_PRIMITIVE_H A version of an operator or data type.
Definition: Version.h:46
Primitive< int, int8_t > Int8
Signed 8-bit integer.
Definition: Primitive.h:105
Primitive data value.
Definition: Primitive.h:38
Abstract data object.
Definition: Data.h:53
Definition: VariantHandle.h:34
Primitive< double, float > Float32
Single precision floating point number.
Definition: Primitive.h:249
int64_t toInt(const Data &data)
Definition: Primitive.cpp:358
static const Primitive MAX
Definition: Primitive.h:76
Primitive< bool, bool > Bool
Boolean value.
Definition: Primitive.h:87
Primitive< unsigned int, uint16_t > UInt16
Unsigned 16-bit integer.
Definition: Primitive.h:159
Provides functions to serialize data to strings and files.
Definition: OutputProvider.h:27
virtual void serialize(OutputProvider &out) const
Definition: Primitive.cpp:74
Primitive< int64_t, int64_t > Int64
Signed 64-bit integer.
Definition: Primitive.h:213
virtual const std::string & package() const
Definition: Primitive.h:49
double toDouble(const Data &data)
Definition: Primitive.cpp:363
virtual const Version & version() const
Definition: Primitive.h:48
Primitive< unsigned int, uint8_t > UInt8
Unsigned 8-bit integer.
Definition: Primitive.h:123
virtual const std::string & type() const
Definition: Primitive.h:47
Primitive()
Definition: Primitive.h:42
Primitive(const repr_t value)
Definition: Primitive.h:45
Version version()
Returns the version of the stromx runtime library.
Definition: Runtime.cpp:54
Primitive< uint64_t, uint64_t > UInt64
Unsigned 64-bit integer.
Definition: Primitive.h:231
Primitive< int, int32_t > Int32
Signed 32-bit integer.
Definition: Primitive.h:177
The stromx class library.
Definition: AdjustRgbChannels.cpp:29
virtual void deserialize(InputProvider &in, const Version &version)
Definition: Primitive.cpp:80
virtual Data * clone() const
Definition: Primitive.h:53
Primitive< double, double > Float64
Float64 precision floating point number.
Definition: Primitive.h:267
Primitive< int, int16_t > Int16
Signed 16-bit integer.
Definition: Primitive.h:141
virtual const VariantHandle & variant() const
Definition: Primitive.cpp:60
const Primitive operator=(const repr_t value)
Definition: Primitive.h:66
Primitive< unsigned int, uint32_t > UInt32
Unsigned 32-bit integer.
Definition: Primitive.h:195
static const Primitive MIN
Definition: Primitive.h:73