37 lines
1.1 KiB
C++
37 lines
1.1 KiB
C++
// 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 IMPLICIT_DWA2002325_HPP
|
|
# define IMPLICIT_DWA2002325_HPP
|
|
|
|
# include <boost/python/detail/prefix.hpp>
|
|
# include <boost/type.hpp>
|
|
# include <boost/python/converter/implicit.hpp>
|
|
# include <boost/python/converter/registry.hpp>
|
|
#ifndef BOOST_PYTHON_NO_PY_SIGNATURES
|
|
# include <boost/python/converter/pytype_function.hpp>
|
|
#endif
|
|
# include <boost/python/type_id.hpp>
|
|
|
|
namespace boost { namespace python {
|
|
|
|
template <class Source, class Target>
|
|
void implicitly_convertible(boost::type<Source>* = 0, boost::type<Target>* = 0)
|
|
{
|
|
typedef converter::implicit<Source,Target> functions;
|
|
|
|
converter::registry::push_back(
|
|
&functions::convertible
|
|
, &functions::construct
|
|
, type_id<Target>()
|
|
#ifndef BOOST_PYTHON_NO_PY_SIGNATURES
|
|
, &converter::expected_from_python_type_direct<Source>::get_pytype
|
|
#endif
|
|
);
|
|
}
|
|
|
|
}} // namespace boost::python
|
|
|
|
#endif // IMPLICIT_DWA2002325_HPP
|