Giriş
Kalıtım kullanan sınıfların XML olarak yazılıp okunmasını sağlar.
BOOST_SERIALIZATION_ASSUME_ABSTRACT ile benzeşir.
Örnek
Elimizde şu sınıf hiyerarşisi olsun.
Kalıtım kullanan sınıfların XML olarak yazılıp okunmasını sağlar.
BOOST_SERIALIZATION_ASSUME_ABSTRACT ile benzeşir.
Örnek
Elimizde şu sınıf hiyerarşisi olsun.
class Base
{
public:
std::string m_VarA;
std::string m_VarB
template<class Archive>
void serialize(Archive & rArchive, const unsigned int nVersion)
{
rArchive & BOOST_SERIALIZATION_NVP(m_VarA);
rArchive & BOOST_SERIALIZATION_NVP(m_VarB);
}
};
class Derived : public Base
{
friend class boost::serialization::access;
public:
std::bitset<32> m_Flags;
template<class Archive>
void serialize(Archive & rArchive, const unsigned int nVersion)
{
rArchive & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base);
rArchive & BOOST_SERIALIZATION_NVP(m_Flags);
}
};
Şöyle yaparız.std::ostringstream stream;
Derived var;
{
boost::archive::xml_oarchive rArchive(stream);
rArchive & boost::serialization::make_nvp("Configuration", var);
}
Hiç yorum yok:
Yorum Gönder