Giriş
Sayı 8 bit olmalıdır. Elimizde şöyle bir int olsun
Eğer bu macroyu kullanmak istemiyorsak şöyle yaparız.
BOOST_CLASS_VERSION(EventSet, 1)
Çıktı olarak şunu alırız.<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="10">
<EventSet class_id="0" tracking_level="0" version="1">
<Size>1</Size>
<Event>
...
</Event>
</EventSet>
</boost_serialization>
ÖrnekSayı 8 bit olmalıdır. Elimizde şöyle bir int olsun
#define APP_INT_VERSION 10101 \\ version 1.1.1
Şöyle yaparız.BOOST_CLASS_VERSION(MySerializedClass, APP_INT_VERSION)
Çıktı olarak şunu alırız.// version numbers limited to 8 bits !!!
ÖrnekEğer bu macroyu kullanmak istemiyorsak şöyle yaparız.
#define APP_INT_VERSION 10101
class gps_position
{
private:
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
using boost::serialization::make_nvp;
ar & make_nvp("deg", degrees);
ar & make_nvp("min", minutes);
ar & make_nvp("sec", seconds);
}
int degrees;
int minutes;
float seconds;
public:
gps_position(){};
gps_position(int d, int m, float s) :
degrees(d), minutes(m), seconds(s)
{}
};
namespace boost {
namespace serialization {
template<>
struct version<gps_position>
{
BOOST_STATIC_CONSTANT(int, value = APP_INT_VERSION);
};
}
}
Hiç yorum yok:
Yorum Gönder