ActiveLib
Loading...
Searching...
No Matches
XMLNumber.h
1
6#ifndef ACTIVE_SERIALISE_XML_XML_NUMBER
7#define ACTIVE_SERIALISE_XML_XML_NUMBER
8
9#include "Active/Utility/MathFunctions.h"
10#include "Active/Serialise/Item/Wrapper/ValueWrap.h"
11
12namespace active::serialise::xml {
13
17 class XMLNumber : public ValueWrap<double> {
18 public:
19
20 // MARK: - Types
21
22 typedef ValueWrap<double> base;
23
24 // MARK: - Constructors
25
30 XMLNumber(double& val) : base(val) {}
34 virtual ~XMLNumber() = default;
35
36 // MARK: - Functions (const)
37
42 virtual double getPrecision() const = 0;
47 virtual bool isPadded() const { return false; }
53 virtual bool write(utility::String& dest) const { dest = utility::String{get(), getPrecision(), isPadded()}; return true; }
54 };
55
56}
57
58#endif //ACTIVE_SERIALISE_XML_XML_NUMBER
Definition ValueWrap.h:24
Definition XMLNumber.h:17
virtual bool isPadded() const
Definition XMLNumber.h:47
virtual bool write(utility::String &dest) const
Definition XMLNumber.h:53
XMLNumber(double &val)
Definition XMLNumber.h:30
virtual double getPrecision() const =0
A Unicode-aware string class.
Definition String.h:51
Definition XMLDateTime.h:12