First public contribution.
1 // Copyright David Abrahams 2002.
2 // Distributed under the Boost Software License, Version 1.0. (See
3 // accompanying file LICENSE_1_0.txt or copy at
4 // http://www.boost.org/LICENSE_1_0.txt)
5 #ifndef POINTEE_DWA2002323_HPP
6 # define POINTEE_DWA2002323_HPP
8 # include <boost/python/detail/prefix.hpp>
10 # include <boost/type_traits/object_traits.hpp>
11 # include <boost/type_traits/remove_pointer.hpp>
13 namespace boost { namespace python {
17 template <bool is_ptr = true>
20 template <class T> struct apply : remove_pointer<T> {};
24 struct pointee_impl<false>
26 template <class T> struct apply
28 typedef typename T::element_type type;
35 : detail::pointee_impl<
36 ::boost::is_pointer<T>::value
41 }} // namespace boost::python::detail
43 #endif // POINTEE_DWA2002323_HPP