ActiveLib
Loading...
Searching...
No Matches
XMLPoint.h
1
6#ifndef ACTIVE_SERIALISE_XML_XML_POINT
7#define ACTIVE_SERIALISE_XML_XML_POINT
8
9#include "Active/Serialise/Package/Package.h"
10#include "Active/Utility/String.h"
11
12namespace active::geometry {
13
14 class Point;
15
16}
17
18namespace active::serialise::xml {
19
25 class XMLPoint : public Package, public std::reference_wrapper<geometry::Point> {
26 public:
27
28 // MARK: - Types
29
30 //Base class type
31 using base = std::reference_wrapper<geometry::Point>;
32
33 // MARK: - Static variables
34
36 static inline utility::String tag = "point";
37
38 // MARK: - Constructor
39
50 XMLPoint(geometry::Point& point, const utility::String& customTag);
51
52 // MARK: - Functions (const)
53
59 virtual bool fillInventory(Inventory& inventory) const override;
65 virtual Cargo::Unique getCargo(const Inventory::Item& item) const override;
66
67 // MARK: - Functions (mutating)
68
72 virtual void setDefault() override;
73
74 private:
75 //Optional explicit tag (overrides default)
77 };
78
79}
80
81#endif //ACTIVE_SERIALISE_XML_XML_POINT
Definition Point.h:36
std::unique_ptr< Cargo > Unique
Unique pointer.
Definition Cargo.h:23
Definition Inventory.h:19
Definition Package.h:17
Definition XMLPoint.h:25
virtual void setDefault() override
Definition XMLPoint.cpp:111
static utility::String tag
The element tag.
Definition XMLPoint.h:36
XMLPoint(geometry::Point &point)
Definition XMLPoint.cpp:55
virtual Cargo::Unique getCargo(const Inventory::Item &item) const override
Definition XMLPoint.cpp:91
virtual bool fillInventory(Inventory &inventory) const override
Definition XMLPoint.cpp:75
A Unicode-aware string class.
Definition String.h:51
std::optional< String > Option
Optional.
Definition String.h:63
Definition Anchor2D.h:11
Definition XMLDateTime.h:12
Definition Entry.h:20