diff --git a/include/boost/python/object/make_holder.hpp b/include/boost/python/object/make_holder.hpp index 5268bde4..871ed059 100644 --- a/include/boost/python/object/make_holder.hpp +++ b/include/boost/python/object/make_holder.hpp @@ -14,22 +14,6 @@ namespace boost { namespace python { namespace objects { -namespace detail -{ - // Use of this workaround as opposed to straightforward mpl::at - // needed for vc7, for some reason. - template - struct at - { - private: - typedef typename mpl::at_algorithm_traits< - typename mpl::sequence_traits::sequence_category - >::template algorithm::type base; - public: - typedef typename base::type type; - }; -} - template struct make_holder; template <> @@ -55,7 +39,7 @@ struct make_holder<1> struct apply { typedef typename mpl::apply1::type holder; - typedef typename detail::at<0,ArgList>::type t0; + typedef typename mpl::at<0,ArgList>::type t0; typedef typename forward::type f0; static void execute( @@ -74,9 +58,9 @@ struct make_holder<2> struct apply { typedef typename mpl::apply1::type holder; - typedef typename detail::at<0,ArgList>::type t0; + typedef typename mpl::at<0,ArgList>::type t0; typedef typename forward::type f0; - typedef typename detail::at<1,ArgList>::type t1; + typedef typename mpl::at<1,ArgList>::type t1; typedef typename forward::type f1; static void execute( @@ -94,11 +78,11 @@ struct make_holder<3> struct apply { typedef typename mpl::apply1::type holder; - typedef typename detail::at<0,ArgList>::type t0; + typedef typename mpl::at<0,ArgList>::type t0; typedef typename forward::type f0; - typedef typename detail::at<1,ArgList>::type t1; + typedef typename mpl::at<1,ArgList>::type t1; typedef typename forward::type f1; - typedef typename detail::at<2,ArgList>::type t2; + typedef typename mpl::at<2,ArgList>::type t2; typedef typename forward::type f2; static void execute( @@ -116,13 +100,13 @@ struct make_holder<4> struct apply { typedef typename mpl::apply1::type holder; - typedef typename detail::at<0,ArgList>::type t0; + typedef typename mpl::at<0,ArgList>::type t0; typedef typename forward::type f0; - typedef typename detail::at<1,ArgList>::type t1; + typedef typename mpl::at<1,ArgList>::type t1; typedef typename forward::type f1; - typedef typename detail::at<2,ArgList>::type t2; + typedef typename mpl::at<2,ArgList>::type t2; typedef typename forward::type f2; - typedef typename detail::at<3,ArgList>::type t3; + typedef typename mpl::at<3,ArgList>::type t3; typedef typename forward::type f3; static void execute( @@ -140,15 +124,15 @@ struct make_holder<5> struct apply { typedef typename mpl::apply1::type holder; - typedef typename detail::at<0,ArgList>::type t0; + typedef typename mpl::at<0,ArgList>::type t0; typedef typename forward::type f0; - typedef typename detail::at<1,ArgList>::type t1; + typedef typename mpl::at<1,ArgList>::type t1; typedef typename forward::type f1; - typedef typename detail::at<2,ArgList>::type t2; + typedef typename mpl::at<2,ArgList>::type t2; typedef typename forward::type f2; - typedef typename detail::at<3,ArgList>::type t3; + typedef typename mpl::at<3,ArgList>::type t3; typedef typename forward::type f3; - typedef typename detail::at<4,ArgList>::type t4; + typedef typename mpl::at<4,ArgList>::type t4; typedef typename forward::type f4; static void execute( @@ -166,17 +150,17 @@ struct make_holder<6> struct apply { typedef typename mpl::apply1::type holder; - typedef typename detail::at<0,ArgList>::type t0; + typedef typename mpl::at<0,ArgList>::type t0; typedef typename forward::type f0; - typedef typename detail::at<1,ArgList>::type t1; + typedef typename mpl::at<1,ArgList>::type t1; typedef typename forward::type f1; - typedef typename detail::at<2,ArgList>::type t2; + typedef typename mpl::at<2,ArgList>::type t2; typedef typename forward::type f2; - typedef typename detail::at<3,ArgList>::type t3; + typedef typename mpl::at<3,ArgList>::type t3; typedef typename forward::type f3; - typedef typename detail::at<4,ArgList>::type t4; + typedef typename mpl::at<4,ArgList>::type t4; typedef typename forward::type f4; - typedef typename detail::at<5,ArgList>::type t5; + typedef typename mpl::at<5,ArgList>::type t5; typedef typename forward::type f5; static void execute(