Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r85881 - trunk/boost/python
From: steveire_at_[hidden]
Date: 2013-09-25 03:55:31


Author: skelly
Date: 2013-09-25 03:55:31 EDT (Wed, 25 Sep 2013)
New Revision: 85881
URL: http://svn.boost.org/trac/boost/changeset/85881

Log:
Python: Simplify object and BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS macro.

The macro no longer needs an implementation for old MSVC.

Text files modified:
   trunk/boost/python/object_core.hpp | 19 +------------------
   1 files changed, 1 insertions(+), 18 deletions(-)

Modified: trunk/boost/python/object_core.hpp
==============================================================================
--- trunk/boost/python/object_core.hpp Wed Sep 25 03:55:17 2013 (r85880)
+++ trunk/boost/python/object_core.hpp 2013-09-25 03:55:31 EDT (Wed, 25 Sep 2013) (r85881)
@@ -348,7 +348,7 @@
   // Macros for forwarding constructors in classes derived from
   // object. Derived classes will usually want these as an
   // implementation detail
-# define BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS_(derived, base) \
+# define BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(derived, base) \
     inline explicit derived(::boost::python::detail::borrowed_reference p) \
         : base(p) {} \
     inline explicit derived(::boost::python::detail::new_reference p) \
@@ -356,23 +356,6 @@
     inline explicit derived(::boost::python::detail::new_non_null_reference p) \
         : base(p) {}
 
-# if !defined(BOOST_MSVC) || BOOST_MSVC >= 1300
-# define BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS_
-# else
- // MSVC6 has a bug which causes an explicit template constructor to
- // be preferred over an appropriate implicit conversion operator
- // declared on the argument type. Normally, that would cause a
- // runtime failure when using extract<T> to extract a type with a
- // templated constructor. This additional constructor will turn that
- // runtime failure into an ambiguity error at compile-time due to
- // the lack of partial ordering, or at least a link-time error if no
- // generalized template constructor is declared.
-# define BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(derived, base) \
- BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS_(derived, base) \
- template <class T> \
- explicit derived(extract<T> const&);
-# endif
-
   //
   // object_initializer -- get the handle to construct the object with,
   // based on whether T is a proxy or derived from object


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk