Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:50:38

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/type_traits.hpp>
0009 
0010 namespace boost { namespace python { namespace detail { 
0011 
0012 template <bool is_ptr = true>
0013 struct pointee_impl
0014 {
0015     template <class T> struct apply : remove_pointer<T> {};
0016 };
0017 
0018 template <>
0019 struct pointee_impl<false>
0020 {
0021     template <class T> struct apply
0022     {
0023         typedef typename T::element_type type;
0024     };
0025 };
0026 
0027 template <class T>
0028 struct pointee
0029     : pointee_impl<is_pointer<T>::value>::template apply<T>
0030 {
0031 };
0032 
0033 }}} // namespace boost::python::detail
0034 
0035 #endif // POINTEE_DWA2002323_HPP