]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/python/copy_const_reference.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / python / copy_const_reference.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 COPY_CONST_REFERENCE_DWA2002131_HPP
6 # define COPY_CONST_REFERENCE_DWA2002131_HPP
7
8 # include <boost/python/detail/prefix.hpp>
9 # include <boost/python/detail/indirect_traits.hpp>
10 # include <boost/mpl/if.hpp>
11 # include <boost/python/to_python_value.hpp>
12
13 namespace boost { namespace python {
14
15 namespace detail
16 {
17 template <class R>
18 struct copy_const_reference_expects_a_const_reference_return_type
19 # if defined(__GNUC__) || defined(__EDG__)
20 {}
21 # endif
22 ;
23 }
24
25 template <class T> struct to_python_value;
26
27 struct copy_const_reference
28 {
29 template <class T>
30 struct apply
31 {
32 typedef typename mpl::if_c<
33 indirect_traits::is_reference_to_const<T>::value
34 , to_python_value<T>
35 , detail::copy_const_reference_expects_a_const_reference_return_type<T>
36 >::type type;
37 };
38 };
39
40
41 }} // namespace boost::python
42
43 #endif // COPY_CONST_REFERENCE_DWA2002131_HPP