Salome HOME
Fix usage of Boost smart pointers for compatibility with Boost >= 1.53 rbe/fix-boost-smart-pointers
authorRenaud Barate <renaud.barate@edf.fr>
Tue, 25 Mar 2014 15:19:08 +0000 (16:19 +0100)
committerRenaud Barate <renaud.barate@edf.fr>
Tue, 25 Mar 2014 15:19:08 +0000 (16:19 +0100)
src/MEDWrapper/Base/MED_SharedPtr.hxx
src/MEDWrapper/Base/MED_Wrapper.hxx
src/SMESHUtils/CMakeLists.txt

index 712b4aa..0c52a20 100644 (file)
@@ -48,7 +48,7 @@ namespace MED
     //! Construct the class by any specialisation of the class
     template<class Y>
     SharedPtr(SharedPtr<Y> const & r):
-      boost::shared_ptr<T>(r,boost::detail::dynamic_cast_tag())
+      boost::shared_ptr<T>(boost::dynamic_pointer_cast<T,Y>(r))
     {}
 
     //! Copy-constructor
@@ -56,7 +56,7 @@ namespace MED
     SharedPtr& 
     operator=(SharedPtr<Y> const & r)
     {
-      boost::shared_ptr<T>(r,boost::detail::dynamic_cast_tag()).swap(*this);
+      SharedPtr<T>(r).swap(*this);
       return *this;
     }
 
index cd4e8ef..d64d2b8 100644 (file)
@@ -1002,14 +1002,14 @@ namespace MED
 
     template<class Y>
     SharedPtr(SharedPtr<Y> const & r):
-      boost::shared_ptr<TWrapper>(r,boost::detail::dynamic_cast_tag())
+      boost::shared_ptr<TWrapper>(boost::dynamic_pointer_cast<TWrapper,Y>(r))
     {}
 
     template<class Y>
     SharedPtr& 
     operator=(SharedPtr<Y> const & r)
     {
-      boost::shared_ptr<TWrapper>(r,boost::detail::dynamic_cast_tag()).swap(*this);
+      SharedPtr<TWrapper>(r).swap(*this);
       return *this;
     }
 
index 1281d9a..5261c5d 100644 (file)
@@ -42,6 +42,7 @@ SET(_link_LIBRARIES
   ${CAS_TKG3d}
   ${CAS_TKGeomBase}
   ${CAS_TKGeomAlgo}
+  ${Boost_LIBRARIES}
   SMESHDS
 )