私はboost.serializationを使用しています。一部のサンプルコードでは、シリアル化メソッドでBOOST_SERIALIZATION_NVPを使用しています。
template<class Archive>
void save(Archive & ar, const unsigned int version) const
{
ar & BOOST_SERIALIZATION_NVP(_from_prop);
}
その機能をグーグルで検索しようとしましたが、有用なものは何も見つかりませんでした。の違いは何ですか
ar & BOOST_SERIALIZATION_NVP(_from_prop)
そして
ar & _from_prop?
BOOST_SERIALIZATION_NVP
は、(この例では)次のように展開されるマクロです。
template<class Archive>
void save(Archive & ar, const unsigned int version) const
{
ar & boost::serialization::make_nvp("_from_prop", _from_prop)
}
make_nvp
は、次のように直接シリアル化するのと同じように機能するラッパーです。
ar & _from_prop;
xMLアーカイブにシリアル化する場合を除きます。 XMLアーカイブには、XMLタグに使用する名前が必要です。この名前は、make_nvp
の文字列パラメータで指定された名前です。