#include #include #include #include #include #include class A { public: A(int i) {} private: A() {} friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int version) { } }; class B { public: B() {} private: std::vector m_a; friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int version) { ar & BOOST_SERIALIZATION_NVP(m_a); } }; int main(int argc, char* argv[]) { std::ostringstream os; boost::archive::text_oarchive oa(os); { B b; oa & b; } { std::stringstream myIstream; myIstream.write(os.str().c_str(), os.str().length()); boost::archive::text_iarchive ia(myIstream); B b; ia >> b; } return 0; }