#pragma once #include "BoostSerialize.h" #include "afx.h" // Inheret from CObject because in full app MFC Serialize // was used previously. Currently transitioning, but want // to keep environment similar to replicate problem. // comment inheritance to stop _ASSERTE(pHead->nBlockUse == nBlockUse); exception class MyType : public CObject { public: MyType(){m_Val = 0.0;}; MyType(double val){m_Val = val;}; ~MyType(void){}; private: // Boost Serialization friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int version) { ar & BOOST_SERIALIZATION_NVP(m_Val);}; private: double m_Val; }; // comment inheritance to stop _ASSERTE(pHead->nBlockUse == nBlockUse); exception class MyTypes : public CObject { public: MyTypes(void) { m_NoTypes = 6; for(unsigned int i = 0; i < m_NoTypes; ++i) { // store some random numbers between 0 and 100 MyType* pType = new MyType( rand() % 100 ); m_vMyTypes.push_back( pType ); } } ~MyTypes(void) { for(unsigned int i = 0; i < m_NoTypes; ++i) delete m_vMyTypes.at(i); m_vMyTypes.clear(); } private: // Boost Serialization friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int version) { ar & BOOST_SERIALIZATION_NVP(m_vMyTypes);}; std::vector m_vMyTypes; unsigned int m_NoTypes; };