// 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 REFERENCE_EXISTING_OBJECT_DWA200222_HPP # define REFERENCE_EXISTING_OBJECT_DWA200222_HPP # include # include # include # include # include namespace boost { namespace python { namespace detail { template struct reference_existing_object_requires_a_pointer_or_reference_return_type # if defined(__GNUC__) || defined(__EDG__) {} # endif ; } template struct to_python_value; struct reference_existing_object { template struct apply { BOOST_STATIC_CONSTANT( bool, ok = detail::is_pointer::value || detail::is_reference::value); typedef typename mpl::if_c< ok , to_python_indirect , detail::reference_existing_object_requires_a_pointer_or_reference_return_type >::type type; }; }; }} // namespace boost::python #endif // REFERENCE_EXISTING_OBJECT_DWA200222_HPP