16 #ifndef dealii__std_cxx11_unique_ptr_h 17 #define dealii__std_cxx11_unique_ptr_h 20 #include <deal.II/base/config.h> 22 #ifdef DEAL_II_WITH_CXX11 25 DEAL_II_NAMESPACE_OPEN
28 using std::unique_ptr;
30 DEAL_II_NAMESPACE_CLOSE
34 #include <boost/scoped_ptr.hpp> 35 #include <boost/serialization/scoped_ptr.hpp> 38 DEAL_II_NAMESPACE_OPEN
59 class unique_ptr :
public boost::scoped_ptr<T>
65 explicit unique_ptr (Y *p)
67 boost::scoped_ptr<T>(p)
72 template<
class Archive,
class T>
73 void save(Archive &ar,
74 const unique_ptr< T > &t,
75 const unsigned int version)
77 boost::serialization::save (ar,
static_cast<boost::scoped_ptr<T>&
>(t), version);
80 template<
class Archive,
class T>
81 void load(Archive &ar,
83 const unsigned int version)
85 boost::serialization::load (ar,
static_cast<boost::scoped_ptr<T>&
>(t), version);
88 template<
class Archive,
class T>
89 void serialize(Archive &ar,
91 const unsigned int version)
93 boost::serialization::serialize (ar,
static_cast<boost::scoped_ptr<T>&
>(t), version);
97 DEAL_II_NAMESPACE_CLOSE
102 DEAL_II_NAMESPACE_OPEN
104 DEAL_II_NAMESPACE_CLOSE