update to new build system
This commit is contained in:
46
examples/optional_serialization.cxx
Normal file
46
examples/optional_serialization.cxx
Normal file
@@ -0,0 +1,46 @@
|
||||
/*! @file
|
||||
|
||||
@id $Id$
|
||||
*/
|
||||
// 1 2 3 4 5 6 7 8
|
||||
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
|
||||
#include <xml-cxx/xml.hxx>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
|
||||
class A: public xml::Serialize {
|
||||
public:
|
||||
xml::Optional<int> a;
|
||||
xml::Optional<std::string> txt;
|
||||
protected:
|
||||
void initXmlMembers() {
|
||||
className("A");
|
||||
persist(a, "a");
|
||||
persist(txt, "txt");
|
||||
}
|
||||
};
|
||||
|
||||
class B: public xml::Serialize {
|
||||
public:
|
||||
xml::Optional<A> a;
|
||||
xml::Optional<int> i;
|
||||
xml::Optional<std::string> txt;
|
||||
protected:
|
||||
void initXmlMembers() {
|
||||
className("B");
|
||||
persist(a, "a");
|
||||
persist(i, "i");
|
||||
persist(txt, "txt");
|
||||
}
|
||||
};
|
||||
|
||||
int main(int, char**) {
|
||||
{ // Serialization as a member
|
||||
std::stringstream ss("<B><a><txt>Only this text is given</txt></a></B>");
|
||||
B b;
|
||||
b.loadXml(ss);
|
||||
b.saveXml(std::cout)<<std::endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user