mirror of
https://github.com/boostorg/mpl.git
synced 2025-08-03 14:54:30 +02:00
ISO-friendly lambda
[SVN r16572]
This commit is contained in:
@@ -102,7 +102,7 @@ struct lambda
|
|||||||
|
|
||||||
# define AUX_LAMBDA_INVOCATION(unused, i, T) \
|
# define AUX_LAMBDA_INVOCATION(unused, i, T) \
|
||||||
, typename lambda< \
|
, typename lambda< \
|
||||||
typename f_::BOOST_PP_CAT(arg,BOOST_PP_INC(i)) \
|
typename F::BOOST_PP_CAT(arg,BOOST_PP_INC(i)) \
|
||||||
, false \
|
, false \
|
||||||
>::type \
|
>::type \
|
||||||
/**/
|
/**/
|
||||||
|
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#if !defined(BOOST_MPL_NO_FULL_LAMBDA_SUPPORT)
|
#if !defined(BOOST_MPL_NO_FULL_LAMBDA_SUPPORT)
|
||||||
|
|
||||||
|
# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) /**/
|
||||||
# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) /**/
|
# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) /**/
|
||||||
|
|
||||||
#else
|
#else
|
||||||
@@ -35,23 +36,41 @@
|
|||||||
typedef_ param BOOST_PP_CAT(arg,BOOST_PP_INC(i)); \
|
typedef_ param BOOST_PP_CAT(arg,BOOST_PP_INC(i)); \
|
||||||
/**/
|
/**/
|
||||||
|
|
||||||
# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) \
|
# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
|
||||||
struct rebind \
|
BOOST_STATIC_CONSTANT(int, arity = i); \
|
||||||
|
BOOST_PP_LIST_FOR_EACH_I_R( \
|
||||||
|
1 \
|
||||||
|
, BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
|
||||||
|
, typedef \
|
||||||
|
, BOOST_PP_TUPLE_TO_LIST(i,params) \
|
||||||
|
) \
|
||||||
|
friend class BOOST_PP_CAT(name,_rebind); \
|
||||||
|
typedef BOOST_PP_CAT(name,_rebind) rebind; \
|
||||||
|
/**/
|
||||||
|
|
||||||
|
#if !defined(__BORLANDC__)
|
||||||
|
# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
|
||||||
|
}; \
|
||||||
|
struct BOOST_PP_CAT(name,_rebind) \
|
||||||
|
{ \
|
||||||
|
template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
|
||||||
|
: name< BOOST_MPL_PP_PARAMS(i,U) > \
|
||||||
{ \
|
{ \
|
||||||
BOOST_STATIC_CONSTANT(int, arity = i); \
|
|
||||||
BOOST_PP_LIST_FOR_EACH_I_R( \
|
|
||||||
1 \
|
|
||||||
, BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
|
|
||||||
, typedef \
|
|
||||||
, BOOST_PP_TUPLE_TO_LIST(i,params) \
|
|
||||||
) \
|
|
||||||
\
|
|
||||||
template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
|
|
||||||
{ \
|
|
||||||
typedef typename name< BOOST_MPL_PP_PARAMS(i,U) >::type type; \
|
|
||||||
}; \
|
|
||||||
}; \
|
}; \
|
||||||
/**/
|
/**/
|
||||||
|
#else
|
||||||
|
# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
|
||||||
|
}; \
|
||||||
|
struct BOOST_PP_CAT(name,_rebind) \
|
||||||
|
{ \
|
||||||
|
template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
|
||||||
|
{ \
|
||||||
|
typedef typename name< BOOST_MPL_PP_PARAMS(i,U) >::type type; \
|
||||||
|
}; \
|
||||||
|
/**/
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // BOOST_MPL_NO_FULL_LAMBDA_SUPPORT
|
#endif // BOOST_MPL_NO_FULL_LAMBDA_SUPPORT
|
||||||
|
|
||||||
|
@@ -21,7 +21,7 @@ template<> struct lambda_impl<1, false>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef bind1<
|
typedef bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -33,7 +33,7 @@ template<> struct lambda_impl<1, true>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< bind1<
|
typedef protect< bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -46,7 +46,7 @@ template<> struct lambda_impl<2, false>
|
|||||||
typedef bind2<
|
typedef bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -59,7 +59,7 @@ template<> struct lambda_impl<2, true>
|
|||||||
typedef protect< bind2<
|
typedef protect< bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -72,7 +72,7 @@ template<> struct lambda_impl<3, false>
|
|||||||
typedef bind3<
|
typedef bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -85,7 +85,7 @@ template<> struct lambda_impl<3, true>
|
|||||||
typedef protect< bind3<
|
typedef protect< bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -98,7 +98,7 @@ template<> struct lambda_impl<4, false>
|
|||||||
typedef bind4<
|
typedef bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -111,7 +111,7 @@ template<> struct lambda_impl<4, true>
|
|||||||
typedef protect< bind4<
|
typedef protect< bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -124,7 +124,7 @@ template<> struct lambda_impl<5, false>
|
|||||||
typedef bind5<
|
typedef bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -137,7 +137,7 @@ template<> struct lambda_impl<5, true>
|
|||||||
typedef protect< bind5<
|
typedef protect< bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -21,7 +21,7 @@ template<> struct lambda_impl<1, false>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef bind1<
|
typedef bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -33,7 +33,7 @@ template<> struct lambda_impl<1, true>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< bind1<
|
typedef protect< bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -46,7 +46,7 @@ template<> struct lambda_impl<2, false>
|
|||||||
typedef bind2<
|
typedef bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -59,7 +59,7 @@ template<> struct lambda_impl<2, true>
|
|||||||
typedef protect< bind2<
|
typedef protect< bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -72,7 +72,7 @@ template<> struct lambda_impl<3, false>
|
|||||||
typedef bind3<
|
typedef bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -85,7 +85,7 @@ template<> struct lambda_impl<3, true>
|
|||||||
typedef protect< bind3<
|
typedef protect< bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -98,7 +98,7 @@ template<> struct lambda_impl<4, false>
|
|||||||
typedef bind4<
|
typedef bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -111,7 +111,7 @@ template<> struct lambda_impl<4, true>
|
|||||||
typedef protect< bind4<
|
typedef protect< bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -124,7 +124,7 @@ template<> struct lambda_impl<5, false>
|
|||||||
typedef bind5<
|
typedef bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -137,7 +137,7 @@ template<> struct lambda_impl<5, true>
|
|||||||
typedef protect< bind5<
|
typedef protect< bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -21,7 +21,7 @@ template<> struct lambda_impl<1, false>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef bind1<
|
typedef bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -33,7 +33,7 @@ template<> struct lambda_impl<1, true>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< bind1<
|
typedef protect< bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -46,7 +46,7 @@ template<> struct lambda_impl<2, false>
|
|||||||
typedef bind2<
|
typedef bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -59,7 +59,7 @@ template<> struct lambda_impl<2, true>
|
|||||||
typedef protect< bind2<
|
typedef protect< bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -72,7 +72,7 @@ template<> struct lambda_impl<3, false>
|
|||||||
typedef bind3<
|
typedef bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -85,7 +85,7 @@ template<> struct lambda_impl<3, true>
|
|||||||
typedef protect< bind3<
|
typedef protect< bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -98,7 +98,7 @@ template<> struct lambda_impl<4, false>
|
|||||||
typedef bind4<
|
typedef bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -111,7 +111,7 @@ template<> struct lambda_impl<4, true>
|
|||||||
typedef protect< bind4<
|
typedef protect< bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -124,7 +124,7 @@ template<> struct lambda_impl<5, false>
|
|||||||
typedef bind5<
|
typedef bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -137,7 +137,7 @@ template<> struct lambda_impl<5, true>
|
|||||||
typedef protect< bind5<
|
typedef protect< bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -21,7 +21,7 @@ template<> struct lambda_impl<1, false>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef bind1<
|
typedef bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -33,7 +33,7 @@ template<> struct lambda_impl<1, true>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< bind1<
|
typedef protect< bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -46,7 +46,7 @@ template<> struct lambda_impl<2, false>
|
|||||||
typedef bind2<
|
typedef bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -59,7 +59,7 @@ template<> struct lambda_impl<2, true>
|
|||||||
typedef protect< bind2<
|
typedef protect< bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -72,7 +72,7 @@ template<> struct lambda_impl<3, false>
|
|||||||
typedef bind3<
|
typedef bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -85,7 +85,7 @@ template<> struct lambda_impl<3, true>
|
|||||||
typedef protect< bind3<
|
typedef protect< bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -98,7 +98,7 @@ template<> struct lambda_impl<4, false>
|
|||||||
typedef bind4<
|
typedef bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -111,7 +111,7 @@ template<> struct lambda_impl<4, true>
|
|||||||
typedef protect< bind4<
|
typedef protect< bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -124,7 +124,7 @@ template<> struct lambda_impl<5, false>
|
|||||||
typedef bind5<
|
typedef bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -137,7 +137,7 @@ template<> struct lambda_impl<5, true>
|
|||||||
typedef protect< bind5<
|
typedef protect< bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -21,7 +21,7 @@ template<> struct lambda_impl<1, false>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef bind1<
|
typedef bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -33,7 +33,7 @@ template<> struct lambda_impl<1, true>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< bind1<
|
typedef protect< bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -46,7 +46,7 @@ template<> struct lambda_impl<2, false>
|
|||||||
typedef bind2<
|
typedef bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -59,7 +59,7 @@ template<> struct lambda_impl<2, true>
|
|||||||
typedef protect< bind2<
|
typedef protect< bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -72,7 +72,7 @@ template<> struct lambda_impl<3, false>
|
|||||||
typedef bind3<
|
typedef bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -85,7 +85,7 @@ template<> struct lambda_impl<3, true>
|
|||||||
typedef protect< bind3<
|
typedef protect< bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -98,7 +98,7 @@ template<> struct lambda_impl<4, false>
|
|||||||
typedef bind4<
|
typedef bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -111,7 +111,7 @@ template<> struct lambda_impl<4, true>
|
|||||||
typedef protect< bind4<
|
typedef protect< bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -124,7 +124,7 @@ template<> struct lambda_impl<5, false>
|
|||||||
typedef bind5<
|
typedef bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -137,7 +137,7 @@ template<> struct lambda_impl<5, true>
|
|||||||
typedef protect< bind5<
|
typedef protect< bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -21,7 +21,7 @@ template<> struct lambda_impl<1, false>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef bind1<
|
typedef bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -33,7 +33,7 @@ template<> struct lambda_impl<1, true>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< bind1<
|
typedef protect< bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -46,7 +46,7 @@ template<> struct lambda_impl<2, false>
|
|||||||
typedef bind2<
|
typedef bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -59,7 +59,7 @@ template<> struct lambda_impl<2, true>
|
|||||||
typedef protect< bind2<
|
typedef protect< bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -72,7 +72,7 @@ template<> struct lambda_impl<3, false>
|
|||||||
typedef bind3<
|
typedef bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -85,7 +85,7 @@ template<> struct lambda_impl<3, true>
|
|||||||
typedef protect< bind3<
|
typedef protect< bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -98,7 +98,7 @@ template<> struct lambda_impl<4, false>
|
|||||||
typedef bind4<
|
typedef bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -111,7 +111,7 @@ template<> struct lambda_impl<4, true>
|
|||||||
typedef protect< bind4<
|
typedef protect< bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -124,7 +124,7 @@ template<> struct lambda_impl<5, false>
|
|||||||
typedef bind5<
|
typedef bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -137,7 +137,7 @@ template<> struct lambda_impl<5, true>
|
|||||||
typedef protect< bind5<
|
typedef protect< bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -21,7 +21,7 @@ template<> struct lambda_impl<1, false>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef bind1<
|
typedef bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -33,7 +33,7 @@ template<> struct lambda_impl<1, true>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< bind1<
|
typedef protect< bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -46,7 +46,7 @@ template<> struct lambda_impl<2, false>
|
|||||||
typedef bind2<
|
typedef bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -59,7 +59,7 @@ template<> struct lambda_impl<2, true>
|
|||||||
typedef protect< bind2<
|
typedef protect< bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -72,7 +72,7 @@ template<> struct lambda_impl<3, false>
|
|||||||
typedef bind3<
|
typedef bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -85,7 +85,7 @@ template<> struct lambda_impl<3, true>
|
|||||||
typedef protect< bind3<
|
typedef protect< bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -98,7 +98,7 @@ template<> struct lambda_impl<4, false>
|
|||||||
typedef bind4<
|
typedef bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -111,7 +111,7 @@ template<> struct lambda_impl<4, true>
|
|||||||
typedef protect< bind4<
|
typedef protect< bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -124,7 +124,7 @@ template<> struct lambda_impl<5, false>
|
|||||||
typedef bind5<
|
typedef bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -137,7 +137,7 @@ template<> struct lambda_impl<5, true>
|
|||||||
typedef protect< bind5<
|
typedef protect< bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -21,7 +21,7 @@ template<> struct lambda_impl<1, false>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef bind1<
|
typedef bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -33,7 +33,7 @@ template<> struct lambda_impl<1, true>
|
|||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< bind1<
|
typedef protect< bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename f_::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -46,7 +46,7 @@ template<> struct lambda_impl<2, false>
|
|||||||
typedef bind2<
|
typedef bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -59,7 +59,7 @@ template<> struct lambda_impl<2, true>
|
|||||||
typedef protect< bind2<
|
typedef protect< bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -72,7 +72,7 @@ template<> struct lambda_impl<3, false>
|
|||||||
typedef bind3<
|
typedef bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -85,7 +85,7 @@ template<> struct lambda_impl<3, true>
|
|||||||
typedef protect< bind3<
|
typedef protect< bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -98,7 +98,7 @@ template<> struct lambda_impl<4, false>
|
|||||||
typedef bind4<
|
typedef bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -111,7 +111,7 @@ template<> struct lambda_impl<4, true>
|
|||||||
typedef protect< bind4<
|
typedef protect< bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -124,7 +124,7 @@ template<> struct lambda_impl<5, false>
|
|||||||
typedef bind5<
|
typedef bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> type;
|
> type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -137,7 +137,7 @@ template<> struct lambda_impl<5, true>
|
|||||||
typedef protect< bind5<
|
typedef protect< bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename f_::arg1, false >::type, typename lambda< typename f_::arg2, false >::type, typename lambda< typename f_::arg3, false >::type, typename lambda< typename f_::arg4, false >::type, typename lambda< typename f_::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -25,7 +25,7 @@ namespace boost {
|
|||||||
namespace mpl {
|
namespace mpl {
|
||||||
namespace aux {
|
namespace aux {
|
||||||
|
|
||||||
// gcc ICEs on |has_rebind|
|
// gcc ICE-s on 'has_rebind'
|
||||||
#if !defined(__GNUC__)
|
#if !defined(__GNUC__)
|
||||||
|
|
||||||
template< bool >
|
template< bool >
|
||||||
@@ -37,32 +37,14 @@ struct template_arity_impl
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x561 && !defined(BOOST_STRICT_CONFIG))
|
|
||||||
template< typename Rebind >
|
|
||||||
struct template_arity_value
|
|
||||||
{
|
|
||||||
BOOST_STATIC_CONSTANT(int, value = Rebind::arity);
|
|
||||||
};
|
|
||||||
|
|
||||||
template<>
|
|
||||||
struct template_arity_impl<true>
|
|
||||||
{
|
|
||||||
template< typename F > struct result_
|
|
||||||
: template_arity_value<typename F::rebind>
|
|
||||||
{
|
|
||||||
};
|
|
||||||
};
|
|
||||||
#else
|
|
||||||
template<>
|
template<>
|
||||||
struct template_arity_impl<true>
|
struct template_arity_impl<true>
|
||||||
{
|
{
|
||||||
template< typename F > struct result_
|
template< typename F > struct result_
|
||||||
{
|
{
|
||||||
typedef typename F::rebind f_;
|
BOOST_STATIC_CONSTANT(int, value = F::arity);
|
||||||
BOOST_STATIC_CONSTANT(int, value = f_::arity);
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
template< typename F >
|
template< typename F >
|
||||||
struct template_arity
|
struct template_arity
|
||||||
|
Reference in New Issue
Block a user