mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 22:02:49 -06:00
43 lines
1 KiB
C++
43 lines
1 KiB
C++
#include <Core/Core.h>
|
|
|
|
using namespace Upp;
|
|
|
|
struct MyCustomValue : AssignValueTypeNo<MyCustomValue, 514> {
|
|
int x, y, z;
|
|
|
|
bool operator==(const MyCustomValue& o) const { return false; }
|
|
void Serialize(Stream& s) {}
|
|
String ToString() const { return "MyCustomValue"; }
|
|
unsigned GetHashValue() const { return 0; }
|
|
bool IsNullInstance() const { return false; }
|
|
|
|
operator Value() const { return RichValue<MyCustomValue>(*this); }
|
|
MyCustomValue(const Value& v) { *this = ValueTo<MyCustomValue>(v); }
|
|
|
|
MyCustomValue() {}
|
|
};
|
|
|
|
void Xmlize(XmlIO xml, MyCustomValue& v)
|
|
{
|
|
xml
|
|
.Attr("x", v.x)
|
|
.Attr("y", v.y)
|
|
.Attr("z", v.z)
|
|
;
|
|
}
|
|
|
|
INITBLOCK {
|
|
RichValue<MyCustomValue>::Register();
|
|
}
|
|
|
|
REGISTER_VALUE_XMLIZE(MyCustomValue);
|
|
|
|
CONSOLE_APP_MAIN
|
|
{
|
|
MyCustomValue a;
|
|
a.x = 1;
|
|
a.y = 2;
|
|
a.z = 3;
|
|
Value v = a;
|
|
LOG(StoreAsXML(v, "Test"));
|
|
}
|