summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/serialization/example/demo_xml_load.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/serialization/example/demo_xml_load.cpp')
-rw-r--r--src/boost/libs/serialization/example/demo_xml_load.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/boost/libs/serialization/example/demo_xml_load.cpp b/src/boost/libs/serialization/example/demo_xml_load.cpp
new file mode 100644
index 000000000..fcbe80bbf
--- /dev/null
+++ b/src/boost/libs/serialization/example/demo_xml_load.cpp
@@ -0,0 +1,45 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+//
+// demo_xml_load.cpp
+//
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include <iostream>
+#include <string>
+#include <boost/archive/tmpdir.hpp>
+
+#include <boost/archive/xml_iarchive.hpp>
+
+#include "demo_gps.hpp"
+
+void
+restore_schedule(bus_schedule &s, const char * filename)
+{
+ // open the archive
+ std::ifstream ifs(filename);
+ assert(ifs.good());
+ boost::archive::xml_iarchive ia(ifs);
+
+ // restore the schedule from the archive
+ ia >> BOOST_SERIALIZATION_NVP(s);
+}
+
+int main(int argc, char *argv[])
+{
+ // make a new schedule
+ bus_schedule new_schedule;
+
+ std::string filename(boost::archive::tmpdir());
+ filename += "/demo_save.xml";
+
+ restore_schedule(new_schedule, filename.c_str());
+
+ // and display
+ std::cout << "\nrestored schedule";
+ std::cout << new_schedule;
+
+ return 0;
+}