Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-19 09:46:10

0001 // Copyright David Abrahams 2002.
0002 // Distributed under the Boost Software License, Version 1.0. (See
0003 // accompanying file LICENSE_1_0.txt or copy at
0004 // http://www.boost.org/LICENSE_1_0.txt)
0005 #ifndef POINTEE_DWA2002323_HPP
0006 # define POINTEE_DWA2002323_HPP
0007 
0008 # include <boost/python/detail/prefix.hpp>
0009 # include <boost/python/detail/type_traits.hpp>
0010 
0011 namespace boost { namespace python {
0012 
0013 namespace detail
0014 {
0015   template <bool is_ptr = true>
0016   struct pointee_impl
0017   {
0018       template <class T> struct apply : detail::remove_pointer<T> {};
0019   };
0020 
0021   template <>
0022   struct pointee_impl<false>
0023   {
0024       template <class T> struct apply
0025       {
0026           typedef typename T::element_type type;
0027       };
0028   };
0029 }
0030 
0031 template <class T>
0032 struct pointee
0033     : detail::pointee_impl<
0034         detail::is_pointer<T>::value
0035       >::template apply<T>
0036 {
0037 };
0038 
0039 }} // namespace boost::python
0040 
0041 #endif // POINTEE_DWA2002323_HPP