Warning, file /include/boost/serialization/unique_ptr.hpp was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 #ifndef BOOST_SERIALIZATION_UNIQUE_PTR_HPP
0002 #define BOOST_SERIALIZATION_UNIQUE_PTR_HPP
0003
0004
0005 #if defined(_MSC_VER)
0006 # pragma once
0007 #endif
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #include <memory>
0019 #include <boost/serialization/split_free.hpp>
0020 #include <boost/serialization/nvp.hpp>
0021
0022 namespace boost {
0023 namespace serialization {
0024
0025
0026
0027
0028
0029 template<class Archive, class T>
0030 inline void save(
0031 Archive & ar,
0032 const std::unique_ptr< T > &t,
0033 const unsigned int
0034 ){
0035
0036
0037 const T * const tx = t.get();
0038 ar << BOOST_SERIALIZATION_NVP(tx);
0039 }
0040
0041 template<class Archive, class T>
0042 inline void load(
0043 Archive & ar,
0044 std::unique_ptr< T > &t,
0045 const unsigned int
0046 ){
0047 T *tx;
0048 ar >> BOOST_SERIALIZATION_NVP(tx);
0049
0050 t.reset(tx);
0051 }
0052
0053
0054
0055 template<class Archive, class T>
0056 inline void serialize(
0057 Archive & ar,
0058 std::unique_ptr< T > &t,
0059 const unsigned int file_version
0060 ){
0061 boost::serialization::split_free(ar, t, file_version);
0062 }
0063
0064 }
0065 }
0066
0067
0068 #endif