]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/python/detail/pointee.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / python / detail / pointee.hpp
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
7
8 # include <boost/python/detail/type_traits.hpp>
9
10 namespace boost { namespace python { namespace detail {
11
12 template <bool is_ptr = true>
13 struct pointee_impl
14 {
15 template <class T> struct apply : remove_pointer<T> {};
16 };
17
18 template <>
19 struct pointee_impl<false>
20 {
21 template <class T> struct apply
22 {
23 typedef typename T::element_type type;
24 };
25 };
26
27 template <class T>
28 struct pointee
29 : pointee_impl<is_pointer<T>::value>::template apply<T>
30 {
31 };
32
33 }}} // namespace boost::python::detail
34
35 #endif // POINTEE_DWA2002323_HPP