diff --git a/include/boost/python/object_core.hpp b/include/boost/python/object_core.hpp index 5c6eb7ca..0b1b660c 100644 --- a/include/boost/python/object_core.hpp +++ b/include/boost/python/object_core.hpp @@ -36,12 +36,6 @@ # include # include -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) -# include -# endif - -# include - namespace boost { namespace python { namespace detail @@ -98,11 +92,7 @@ namespace api class object_operators : public def_visitor { protected: -# if !defined(BOOST_MSVC) || BOOST_MSVC >= 1300 typedef object const& object_cref; -# else - typedef object object_cref; -# endif public: // function call // @@ -139,25 +129,11 @@ namespace api template const_object_item - operator[](T const& key) const -# if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 - ; -# else - { - return (*this)[object(key)]; - } -# endif + operator[](T const& key) const; template object_item - operator[](T const& key) -# if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 - ; -# else - { - return (*this)[object(key)]; - } -# endif + operator[](T const& key); // slicing // @@ -175,29 +151,11 @@ namespace api template const_object_slice - slice(T const& start, V const& end) const -# if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 - ; -# else - { - return this->slice( - slice_bound::type(start) - , slice_bound::type(end)); - } -# endif + slice(T const& start, V const& end) const; template object_slice - slice(T const& start, V const& end) -# if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 - ; -# else - { - return this->slice( - slice_bound::type(start) - , slice_bound::type(end)); - } -# endif + slice(T const& start, V const& end); private: // def visitation for adding callable objects as class methods @@ -323,14 +281,7 @@ namespace api // explicit conversion from any C++ object to Python template - explicit object( - T const& x -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - // use some SFINAE to un-confuse MSVC about its - // copy-initialization ambiguity claim. - , typename mpl::if_,int&,int>::type* = 0 -# endif - ) + explicit object(T const& x) : object_base(object_base_initializer(x)) { } diff --git a/include/boost/python/object_items.hpp b/include/boost/python/object_items.hpp old mode 100755 new mode 100644 index f0761dad..b048689a --- a/include/boost/python/object_items.hpp +++ b/include/boost/python/object_items.hpp @@ -44,7 +44,6 @@ object_operators::operator[](object_cref key) const return const_object_item(x, key); } -# if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 template template inline const_object_item @@ -60,8 +59,6 @@ object_operators::operator[](T const& key) { return (*this)[object(key)]; } -# endif - inline object const_item_policies::get(object const& target, object const& key) { diff --git a/include/boost/python/object_slices.hpp b/include/boost/python/object_slices.hpp index 748c2e95..6cd3dc29 100644 --- a/include/boost/python/object_slices.hpp +++ b/include/boost/python/object_slices.hpp @@ -99,7 +99,7 @@ object_operators::slice(object_cref start, slice_nil) const object_cref2 x = *static_cast(this); return const_object_slice(x, api::slice_key(borrowed(start.ptr()), allow_null((PyObject*)0))); } -# if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 + template template inline const_object_slice @@ -119,8 +119,6 @@ object_operators::slice(T const& start, V const& end) typename slice_bound::type(start) , typename slice_bound::type(end)); } -# endif - inline object const_slice_policies::get(object const& target, key_type const& key) {