| 1 | #include <fstream>
|
|---|
| 2 | #include <boost/archive/text_oarchive.hpp>
|
|---|
| 3 | #include <boost/archive/text_iarchive.hpp>
|
|---|
| 4 |
|
|---|
| 5 | /////////////////////////////////////////// Singleton class
|
|---|
| 6 | class C {
|
|---|
| 7 | int x,y,z;
|
|---|
| 8 |
|
|---|
| 9 | C() : x(1),y(2),z(3) {}
|
|---|
| 10 |
|
|---|
| 11 | friend class boost::serialization::access;
|
|---|
| 12 | template <typename A>
|
|---|
| 13 | void serialize(A &a,unsigned v) { a & x & y & z; }
|
|---|
| 14 |
|
|---|
| 15 | //public: //<-- won't compile unless this is public
|
|---|
| 16 | ~C() {}
|
|---|
| 17 |
|
|---|
| 18 | public:
|
|---|
| 19 | static C & Instance() {
|
|---|
| 20 | static C c;
|
|---|
| 21 | return c;
|
|---|
| 22 | }
|
|---|
| 23 | };
|
|---|
| 24 |
|
|---|
| 25 | /////////////////////////////////////////////////////////////
|
|---|
| 26 | int main() {
|
|---|
| 27 | // create and open a character archive for output
|
|---|
| 28 | std::ofstream ofs("filename");
|
|---|
| 29 |
|
|---|
| 30 | boost::archive::text_oarchive oa(ofs);
|
|---|
| 31 | oa << C::Instance();
|
|---|
| 32 | }
|
|---|