]> git.lyx.org Git - lyx.git/blobdiff - boost/boost/get_pointer.hpp
Cmake build: Omit files with names not starting with aplha character.
[lyx.git] / boost / boost / get_pointer.hpp
index 09091e4f87abfb3ab22a40f8d8d200e5bff40912..b27b98a6096268c221b7d45c480b1aa1f24e14ea 100644 (file)
@@ -1,12 +1,17 @@
-// Copyright Peter Dimov and David Abrahams 2002. Permission to copy,
-// use, modify, sell and distribute this software is granted provided
-// this copyright notice appears in all copies of the source. This
-// software is provided "as is" without express or implied warranty,
-// and with no claim as to its suitability for any purpose.
+// Copyright Peter Dimov and David Abrahams 2002.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 #ifndef GET_POINTER_DWA20021219_HPP
-# define GET_POINTER_DWA20021219_HPP
+#define GET_POINTER_DWA20021219_HPP
 
-# include <memory>
+#include <boost/config.hpp>
+
+// In order to avoid circular dependencies with Boost.TR1
+// we make sure that our include of <memory> doesn't try to
+// pull in the TR1 headers: that's why we use this header 
+// rather than including <memory> directly:
+#include <boost/config/no_tr1/memory.hpp>  // std::auto_ptr
 
 namespace boost { 
 
@@ -24,6 +29,19 @@ template<class T> T * get_pointer(std::auto_ptr<T> const& p)
     return p.get();
 }
 
+#if !defined( BOOST_NO_CXX11_SMART_PTR )
+
+template<class T> T * get_pointer( std::unique_ptr<T> const& p )
+{
+    return p.get();
+}
+
+template<class T> T * get_pointer( std::shared_ptr<T> const& p )
+{
+    return p.get();
+}
+
+#endif
 
 } // namespace boost