mirror of
https://github.com/boostorg/python.git
synced 2026-01-20 04:42:28 +00:00
Roll back vc7 workarounds; Aleksey has folded them into the MPL code
[SVN r13207]
This commit is contained in:
@@ -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 <unsigned N, class Sequence>
|
||||
struct at
|
||||
{
|
||||
private:
|
||||
typedef typename mpl::at_algorithm_traits<
|
||||
typename mpl::sequence_traits<Sequence>::sequence_category
|
||||
>::template algorithm<N, Sequence>::type base;
|
||||
public:
|
||||
typedef typename base::type type;
|
||||
};
|
||||
}
|
||||
|
||||
template <int nargs> struct make_holder;
|
||||
|
||||
template <>
|
||||
@@ -55,7 +39,7 @@ struct make_holder<1>
|
||||
struct apply
|
||||
{
|
||||
typedef typename mpl::apply1<Generator,T>::type holder;
|
||||
typedef typename detail::at<0,ArgList>::type t0;
|
||||
typedef typename mpl::at<0,ArgList>::type t0;
|
||||
typedef typename forward<t0>::type f0;
|
||||
|
||||
static void execute(
|
||||
@@ -74,9 +58,9 @@ struct make_holder<2>
|
||||
struct apply
|
||||
{
|
||||
typedef typename mpl::apply1<Generator,T>::type holder;
|
||||
typedef typename detail::at<0,ArgList>::type t0;
|
||||
typedef typename mpl::at<0,ArgList>::type t0;
|
||||
typedef typename forward<t0>::type f0;
|
||||
typedef typename detail::at<1,ArgList>::type t1;
|
||||
typedef typename mpl::at<1,ArgList>::type t1;
|
||||
typedef typename forward<t1>::type f1;
|
||||
|
||||
static void execute(
|
||||
@@ -94,11 +78,11 @@ struct make_holder<3>
|
||||
struct apply
|
||||
{
|
||||
typedef typename mpl::apply1<Generator,T>::type holder;
|
||||
typedef typename detail::at<0,ArgList>::type t0;
|
||||
typedef typename mpl::at<0,ArgList>::type t0;
|
||||
typedef typename forward<t0>::type f0;
|
||||
typedef typename detail::at<1,ArgList>::type t1;
|
||||
typedef typename mpl::at<1,ArgList>::type t1;
|
||||
typedef typename forward<t1>::type f1;
|
||||
typedef typename detail::at<2,ArgList>::type t2;
|
||||
typedef typename mpl::at<2,ArgList>::type t2;
|
||||
typedef typename forward<t2>::type f2;
|
||||
|
||||
static void execute(
|
||||
@@ -116,13 +100,13 @@ struct make_holder<4>
|
||||
struct apply
|
||||
{
|
||||
typedef typename mpl::apply1<Generator,T>::type holder;
|
||||
typedef typename detail::at<0,ArgList>::type t0;
|
||||
typedef typename mpl::at<0,ArgList>::type t0;
|
||||
typedef typename forward<t0>::type f0;
|
||||
typedef typename detail::at<1,ArgList>::type t1;
|
||||
typedef typename mpl::at<1,ArgList>::type t1;
|
||||
typedef typename forward<t1>::type f1;
|
||||
typedef typename detail::at<2,ArgList>::type t2;
|
||||
typedef typename mpl::at<2,ArgList>::type t2;
|
||||
typedef typename forward<t2>::type f2;
|
||||
typedef typename detail::at<3,ArgList>::type t3;
|
||||
typedef typename mpl::at<3,ArgList>::type t3;
|
||||
typedef typename forward<t3>::type f3;
|
||||
|
||||
static void execute(
|
||||
@@ -140,15 +124,15 @@ struct make_holder<5>
|
||||
struct apply
|
||||
{
|
||||
typedef typename mpl::apply1<Generator,T>::type holder;
|
||||
typedef typename detail::at<0,ArgList>::type t0;
|
||||
typedef typename mpl::at<0,ArgList>::type t0;
|
||||
typedef typename forward<t0>::type f0;
|
||||
typedef typename detail::at<1,ArgList>::type t1;
|
||||
typedef typename mpl::at<1,ArgList>::type t1;
|
||||
typedef typename forward<t1>::type f1;
|
||||
typedef typename detail::at<2,ArgList>::type t2;
|
||||
typedef typename mpl::at<2,ArgList>::type t2;
|
||||
typedef typename forward<t2>::type f2;
|
||||
typedef typename detail::at<3,ArgList>::type t3;
|
||||
typedef typename mpl::at<3,ArgList>::type t3;
|
||||
typedef typename forward<t3>::type f3;
|
||||
typedef typename detail::at<4,ArgList>::type t4;
|
||||
typedef typename mpl::at<4,ArgList>::type t4;
|
||||
typedef typename forward<t4>::type f4;
|
||||
|
||||
static void execute(
|
||||
@@ -166,17 +150,17 @@ struct make_holder<6>
|
||||
struct apply
|
||||
{
|
||||
typedef typename mpl::apply1<Generator,T>::type holder;
|
||||
typedef typename detail::at<0,ArgList>::type t0;
|
||||
typedef typename mpl::at<0,ArgList>::type t0;
|
||||
typedef typename forward<t0>::type f0;
|
||||
typedef typename detail::at<1,ArgList>::type t1;
|
||||
typedef typename mpl::at<1,ArgList>::type t1;
|
||||
typedef typename forward<t1>::type f1;
|
||||
typedef typename detail::at<2,ArgList>::type t2;
|
||||
typedef typename mpl::at<2,ArgList>::type t2;
|
||||
typedef typename forward<t2>::type f2;
|
||||
typedef typename detail::at<3,ArgList>::type t3;
|
||||
typedef typename mpl::at<3,ArgList>::type t3;
|
||||
typedef typename forward<t3>::type f3;
|
||||
typedef typename detail::at<4,ArgList>::type t4;
|
||||
typedef typename mpl::at<4,ArgList>::type t4;
|
||||
typedef typename forward<t4>::type f4;
|
||||
typedef typename detail::at<5,ArgList>::type t5;
|
||||
typedef typename mpl::at<5,ArgList>::type t5;
|
||||
typedef typename forward<t5>::type f5;
|
||||
|
||||
static void execute(
|
||||
|
||||
Reference in New Issue
Block a user