2011-12-16 12 views
19

मैं boost.serialization का उपयोग कर रहा हूँ। serialize विधि में कुछ नमूना कोड उपयोग BOOST_SERIALIZATION_NVP:ऑब्जेक्ट को क्रमबद्ध करते समय BOOST_SERIALIZATION_NVP क्या करता है?

template<class Archive> 
void save(Archive & ar, const unsigned int version) const 
{ 
    ar & BOOST_SERIALIZATION_NVP(_from_prop); 
} 

मैं अपनी कार्यक्षमता गूगल की कोशिश की लेकिन उपयोगी कुछ भी नहीं पाया जाता है।

template<class Archive> 
void save(Archive & ar, const unsigned int version) const 
{ 
    ar & boost::serialization::make_nvp("_from_prop", _from_prop) 
} 

make_nvp एक आवरण है कि serializing के रूप में ही कार्य करता है: क्या

ar & BOOST_SERIALIZATION_NVP(_from_prop) 

और

ar & _from_prop? 

उत्तर

31

BOOST_SERIALIZATION_NVP के बीच अंतर एक ऐसा मैक्रो फैलता है (अपने उदाहरण में) करने के लिए किया जाता है सीधे

ar & _from_prop; 

को छोड़कर जब किसी XML संग्रह को क्रमबद्ध किया जाता है। एक्सएमएल संग्रह के लिए एक्सएमएल संग्रह को कुछ नामों की आवश्यकता होती है। यह नाम स्ट्रिंग पैरामीटर में make_nvp पर निर्दिष्ट नाम है।

संबंधित मुद्दे

 संबंधित मुद्दे