From c3b4b58075f676cd24400f2c29d49cbedbc3c45f Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Sun, 10 Aug 2003 22:50:38 +0000 Subject: [PATCH] Extended CWPro8 overload ambiguity workaround to cover make_setter as well as make_getter. [SVN r19519] --- include/boost/python/data_members.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/include/boost/python/data_members.hpp b/include/boost/python/data_members.hpp index e5ff7082..ea96912b 100644 --- a/include/boost/python/data_members.hpp +++ b/include/boost/python/data_members.hpp @@ -261,7 +261,7 @@ namespace detail // Handle non-member pointers template - inline object make_setter(D* p, Policies const& policies, int) + inline object make_setter(D* p, Policies const& policies, mpl::false_, int) { return objects::function_object( objects::py_function( @@ -275,7 +275,7 @@ namespace detail // Handle pointers-to-members template - inline object make_setter(D C::*pm, Policies const& policies, int) + inline object make_setter(D C::*pm, Policies const& policies, mpl::true_, int) { return objects::function_object( objects::py_function( @@ -289,9 +289,9 @@ namespace detail // Handle references template - inline object make_setter(D& x, Policies const& policies, ...) + inline object make_setter(D& x, Policies const& policies, mpl::false_, ...) { - return detail::make_setter(&x, policies, 0L); + return detail::make_setter(&x, policies, mpl::false_(), 0L); } } @@ -340,13 +340,13 @@ inline object make_getter(D const& d) template inline object make_setter(D& x, Policies const& policies) { - return detail::make_setter(x, policies, 0); + return detail::make_setter(x, policies, is_member_pointer(), 0); } template inline object make_setter(D const& x, Policies const& policies) { - return detail::make_setter(x, policies, 0); + return detail::make_setter(x, policies, is_member_pointer(), 0); } template