diff options
Diffstat (limited to 'boost/python/to_python_indirect.hpp')
-rw-r--r-- | boost/python/to_python_indirect.hpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/boost/python/to_python_indirect.hpp b/boost/python/to_python_indirect.hpp index af6ed33b9b..212e1db3d4 100644 --- a/boost/python/to_python_indirect.hpp +++ b/boost/python/to_python_indirect.hpp @@ -18,10 +18,7 @@ # include <boost/python/refcount.hpp> -# include <boost/type_traits/is_pointer.hpp> -# include <boost/type_traits/is_polymorphic.hpp> - -# include <boost/mpl/bool.hpp> +# include <boost/python/detail/type_traits.hpp> # if defined(__ICL) && __ICL < 600 # include <boost/shared_ptr.hpp> @@ -38,7 +35,7 @@ struct to_python_indirect inline PyObject* operator()(U const& ref) const { - return this->execute(const_cast<U&>(ref), is_pointer<U>()); + return this->execute(const_cast<U&>(ref), detail::is_pointer<U>()); } #ifndef BOOST_PYTHON_NO_PY_SIGNATURES inline PyTypeObject const* @@ -49,20 +46,20 @@ struct to_python_indirect #endif private: template <class U> - inline PyObject* execute(U* ptr, mpl::true_) const + inline PyObject* execute(U* ptr, detail::true_) const { // No special NULL treatment for references if (ptr == 0) return python::detail::none(); else - return this->execute(*ptr, mpl::false_()); + return this->execute(*ptr, detail::false_()); } template <class U> - inline PyObject* execute(U const& x, mpl::false_) const + inline PyObject* execute(U const& x, detail::false_) const { U* const p = &const_cast<U&>(x); - if (is_polymorphic<U>::value) + if (detail::is_polymorphic<U>::value) { if (PyObject* o = detail::wrapper_base_::owner(p)) return incref(o); |