6#ifndef ACTIVE_SETTING_STRING_VALUE
7#define ACTIVE_SETTING_STRING_VALUE
9#include "Active/Setting/Values/ValueBase.h"
10#include "Active/Serialise/XML/Item/XMLDateTime.h"
26 data = val ?
"true" :
"false";
46 data = utility::String{val};
56 data = utility::String{val};
66 data = utility::String{val};
97 utility::Time temp{val};
98 serialise::xml::XMLDateTime{temp}.write(
data);
109 StringValue::operator bool()
const {
return ((data ==
"true") || (data ==
"1")); }
115 StringValue::operator int32_t()
const {
return data.operator int32_t(); }
121 StringValue::operator uint32_t()
const {
return data.operator uint32_t(); }
127 StringValue::operator int64_t()
const {
return data.operator int64_t(); }
133 StringValue::operator double()
const {
return data.operator double(); }
139 StringValue::operator utility::String()
const {
return data; }
145 StringValue::operator utility::Guid()
const {
return utility::Guid{data}; }
151 StringValue::operator utility::Time()
const {
154 serialise::xml::XMLDateTime xmlParser{time};
155 if (xmlParser.read(data))
158 if (
auto seconds = data.toInt64(); seconds)
159 return utility::Time{*seconds};
160 return utility::Time{};
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
A Unicode-aware string class.
Definition String.h:51
Definition Transportable.h:13