6#ifndef ACTIVE_SETTING_TIME_VALUE
7#define ACTIVE_SETTING_TIME_VALUE
9#include "Active/Setting/Values/ValueBase.h"
10#include "Active/Serialise/XML/Item/XMLDateTime.h"
26 data.setSecondsSince1970(val);
36 data.setSecondsSince1970(val);
46 data.setSecondsSince1970(
static_cast<int32_t
>(val));
56 data.setSecondsSince1970(
static_cast<int32_t
>(val));
57 data.setMicrosecond(
static_cast<uint32_t
>(1e6 * fmod(val, 1.0)));
68 serialise::xml::XMLDateTime xmlParser{time};
69 if (xmlParser.read(val))
93 TimeValue::operator bool()
const {
return false; }
99 TimeValue::operator int32_t()
const {
return static_cast<int32_t
>(data.secondsSince1970()); }
105 TimeValue::operator uint32_t()
const {
return static_cast<uint32_t
>(data.secondsSince1970()); }
111 TimeValue::operator int64_t()
const {
return static_cast<int64_t
>(data.secondsSince1970()); }
117 TimeValue::operator double()
const {
return static_cast<double>(data.secondsSince1970()) + (
static_cast<double>(data.microsecond()) / 1e6); }
123 TimeValue::operator utility::String()
const {
124 utility::String string;
125 utility::Time temp{data};
126 serialise::xml::XMLDateTime{temp}.write(
string);
135 TimeValue::operator utility::Time()
const {
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