summaryrefslogtreecommitdiff
path: root/boost/python/detail/value_is_shared_ptr.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/python/detail/value_is_shared_ptr.hpp')
-rw-r--r--boost/python/detail/value_is_shared_ptr.hpp23
1 files changed, 17 insertions, 6 deletions
diff --git a/boost/python/detail/value_is_shared_ptr.hpp b/boost/python/detail/value_is_shared_ptr.hpp
index 361c369b5b..53e687f016 100644
--- a/boost/python/detail/value_is_shared_ptr.hpp
+++ b/boost/python/detail/value_is_shared_ptr.hpp
@@ -1,17 +1,28 @@
// Copyright David Abrahams 2003.
+// Copyright Stefan Seefeld 2016.
// 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 VALUE_IS_SHARED_PTR_DWA2003224_HPP
-# define VALUE_IS_SHARED_PTR_DWA2003224_HPP
-# include <boost/python/detail/value_is_xxx.hpp>
-# include <boost/shared_ptr.hpp>
+#ifndef boost_python_detail_value_is_shared_ptr_hpp_
+#define boost_python_detail_value_is_shared_ptr_hpp_
+
+#include <boost/python/detail/value_is_xxx.hpp>
+#include <boost/python/detail/is_shared_ptr.hpp>
namespace boost { namespace python { namespace detail {
-BOOST_PYTHON_VALUE_IS_XXX_DEF(shared_ptr, shared_ptr, 1)
-
+template <class X_>
+struct value_is_shared_ptr
+{
+ static bool const value = is_shared_ptr<typename remove_cv<
+ typename remove_reference<X_>
+ ::type>
+ ::type>
+ ::value;
+ typedef mpl::bool_<value> type;
+};
+
}}} // namespace boost::python::detail
#endif // VALUE_IS_SHARED_PTR_DWA2003224_HPP