6#ifndef ACTIVE_SETTING_DOUBLE_VALUE
7#define ACTIVE_SETTING_DOUBLE_VALUE
9#include "Active/Setting/Values/ValueBase.h"
10#include "Active/Utility/MathFunctions.h"
26 data = val ? 1.0 : 0.0;
37 data =
static_cast<double>(val);
48 data =
static_cast<double>(val);
59 data =
static_cast<double>(val);
81 if (
auto doubleValue = val.toDouble(); doubleValue) {
104 data =
static_cast<double>(val.secondsSince1970()) + (
static_cast<double>(val.microsecond()) / 1e6);
116 DoubleValue::operator bool()
const {
return !math::isZero(data); }
122 DoubleValue::operator int32_t()
const {
return static_cast<int32_t
>(data); }
128 DoubleValue::operator uint32_t()
const {
return static_cast<uint32_t
>(data); }
134 DoubleValue::operator int64_t()
const {
return static_cast<int64_t
>(data); }
140 DoubleValue::operator double()
const {
return data; }
146 DoubleValue::operator utility::String()
const {
return utility::String{data}; }
152 DoubleValue::operator utility::Time()
const {
return utility::Time{data}; }
Definition ValueBase.h:21
virtual bool isNull() const override
Definition ValueBase.h:193
virtual Value & operator=(const Value &val) override
Definition ValueBase.h:85
T data
The value data.
Definition ValueBase.h:58
virtual Type getType() const override
Definition ValueBase.h:198
Type
Supported value types (broad groups, e.g. int32_t and int64_t are both intType)
Definition Value.h:51
Status status
The value status.
Definition Value.h:100
Definition Transportable.h:13