1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/ossrv_pub/boost_apis/boost/python/detail/pointee.hpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,35 @@
1.4 +// Copyright David Abrahams 2002.
1.5 +// Distributed under the Boost Software License, Version 1.0. (See
1.6 +// accompanying file LICENSE_1_0.txt or copy at
1.7 +// http://www.boost.org/LICENSE_1_0.txt)
1.8 +#ifndef POINTEE_DWA2002323_HPP
1.9 +# define POINTEE_DWA2002323_HPP
1.10 +
1.11 +# include <boost/type_traits/object_traits.hpp>
1.12 +
1.13 +namespace boost { namespace python { namespace detail {
1.14 +
1.15 +template <bool is_ptr = true>
1.16 +struct pointee_impl
1.17 +{
1.18 + template <class T> struct apply : remove_pointer<T> {};
1.19 +};
1.20 +
1.21 +template <>
1.22 +struct pointee_impl<false>
1.23 +{
1.24 + template <class T> struct apply
1.25 + {
1.26 + typedef typename T::element_type type;
1.27 + };
1.28 +};
1.29 +
1.30 +template <class T>
1.31 +struct pointee
1.32 + : pointee_impl<is_pointer<T>::value>::template apply<T>
1.33 +{
1.34 +};
1.35 +
1.36 +}}} // namespace boost::python::detail
1.37 +
1.38 +#endif // POINTEE_DWA2002323_HPP