From bd74676685f01b698ec042a62f0ecba7e8b249a7 Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Mon, 27 Sep 2004 14:49:27 +0000 Subject: [PATCH] Work around the stupid VC++/Intel bug that retains argument constness in function signatures. [SVN r25437] --- include/boost/python/arg_from_python.hpp | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/include/boost/python/arg_from_python.hpp b/include/boost/python/arg_from_python.hpp index 64f1efbf..05611edb 100755 --- a/include/boost/python/arg_from_python.hpp +++ b/include/boost/python/arg_from_python.hpp @@ -7,14 +7,33 @@ # include # include +# if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(800)) +# include +#endif namespace boost { namespace python { template struct arg_from_python - : converter::select_arg_from_python::type + : converter::select_arg_from_python< +# if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(800)) + typename boost::remove_cv::type +# else + T +# endif + >::type { - typedef typename converter::select_arg_from_python::type base; + typedef typename converter::select_arg_from_python< +# if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(800)) + typename boost::remove_cv::type +# else + T +# endif + >::type base; + arg_from_python(PyObject*); };