// Copyright David Abrahams 2002. | |
// Distributed under the Boost Software License, Version 1.0. (See | |
// accompanying file LICENSE_1_0.txt or copy at | |
// http://www.boost.org/LICENSE_1_0.txt) | |
#ifndef COPY_CONST_REFERENCE_DWA2002131_HPP | |
# define COPY_CONST_REFERENCE_DWA2002131_HPP | |
# include <boost/python/detail/prefix.hpp> | |
# include <boost/python/detail/indirect_traits.hpp> | |
# include <boost/mpl/if.hpp> | |
# include <boost/python/to_python_value.hpp> | |
namespace boost { namespace python { | |
namespace detail | |
{ | |
template <class R> | |
struct copy_const_reference_expects_a_const_reference_return_type | |
# if defined(__GNUC__) && __GNUC__ >= 3 || defined(__EDG__) | |
{} | |
# endif | |
; | |
} | |
template <class T> struct to_python_value; | |
struct copy_const_reference | |
{ | |
template <class T> | |
struct apply | |
{ | |
typedef typename mpl::if_c< | |
indirect_traits::is_reference_to_const<T>::value | |
, to_python_value<T> | |
, detail::copy_const_reference_expects_a_const_reference_return_type<T> | |
>::type type; | |
}; | |
}; | |
}} // namespace boost::python | |
#endif // COPY_CONST_REFERENCE_DWA2002131_HPP |