re-generated preprocessed headers

[SVN r15798]
This commit is contained in:
Aleksey Gurtovoy
2002-10-07 23:04:18 +00:00
parent 3ae70a97f7
commit 183034a7d7
44 changed files with 384 additions and 363 deletions

View File

@@ -6,9 +6,8 @@ namespace mpl {
template<> struct arg<-1> template<> struct arg<-1>
{ {
static int const value = -1; BOOST_STATIC_CONSTANT(int, value = -1);
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
typedef void_ tag;
template< template<
typename U1, typename U2, typename U3, typename U4, typename U5 typename U1, typename U2, typename U3, typename U4, typename U5
@@ -21,9 +20,9 @@ template<> struct arg<-1>
template<> struct arg<1> template<> struct arg<1>
{ {
static int const value = 1; BOOST_STATIC_CONSTANT(int, value = 1);
typedef arg<2> next; typedef arg<2> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1, typename U2, typename U3, typename U4, typename U5 typename U1, typename U2, typename U3, typename U4, typename U5
@@ -36,9 +35,9 @@ template<> struct arg<1>
template<> struct arg<2> template<> struct arg<2>
{ {
static int const value = 2; BOOST_STATIC_CONSTANT(int, value = 2);
typedef arg<3> next; typedef arg<3> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1, typename U2, typename U3, typename U4, typename U5 typename U1, typename U2, typename U3, typename U4, typename U5
@@ -51,9 +50,9 @@ template<> struct arg<2>
template<> struct arg<3> template<> struct arg<3>
{ {
static int const value = 3; BOOST_STATIC_CONSTANT(int, value = 3);
typedef arg<4> next; typedef arg<4> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1, typename U2, typename U3, typename U4, typename U5 typename U1, typename U2, typename U3, typename U4, typename U5
@@ -66,9 +65,9 @@ template<> struct arg<3>
template<> struct arg<4> template<> struct arg<4>
{ {
static int const value = 4; BOOST_STATIC_CONSTANT(int, value = 4);
typedef arg<5> next; typedef arg<5> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1, typename U2, typename U3, typename U4, typename U5 typename U1, typename U2, typename U3, typename U4, typename U5
@@ -81,9 +80,9 @@ template<> struct arg<4>
template<> struct arg<5> template<> struct arg<5>
{ {
static int const value = 5; BOOST_STATIC_CONSTANT(int, value = 5);
typedef arg<6> next; typedef arg<6> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1, typename U2, typename U3, typename U4, typename U5 typename U1, typename U2, typename U3, typename U4, typename U5

View File

@@ -27,7 +27,7 @@ template<
> >
struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 > struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 >
{ {
typedef typename apply5< arg<N>,U1,U2,U3,U4,U5 >::type type; typedef typename apply5<mpl::arg< N>,U1,U2,U3,U4,U5 >::type type;
}; };
template< template<

View File

@@ -46,7 +46,7 @@ template<
> >
struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 > struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 >
{ {
typedef typename apply5< arg<N>,U1,U2,U3,U4,U5 >::type type; typedef typename apply5<mpl::arg< N>,U1,U2,U3,U4,U5 >::type type;
}; };
template< template<
@@ -85,7 +85,7 @@ struct bind0
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -124,7 +124,7 @@ struct bind1
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -168,7 +168,7 @@ struct bind2
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -217,7 +217,7 @@ struct bind3
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -271,7 +271,7 @@ struct bind4
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -331,7 +331,7 @@ struct bind5
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;

View File

@@ -12,7 +12,7 @@ struct lambda_helper1
{ {
struct rebind struct rebind
{ {
static int const arity = 1; BOOST_STATIC_CONSTANT(int, arity = 1);
typedef T1 arg1; typedef T1 arg1;
template< typename U1 > struct apply template< typename U1 > struct apply
@@ -30,7 +30,7 @@ struct lambda_helper2
{ {
struct rebind struct rebind
{ {
static int const arity = 2; BOOST_STATIC_CONSTANT(int, arity = 2);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
@@ -49,7 +49,7 @@ struct lambda_helper3
{ {
struct rebind struct rebind
{ {
static int const arity = 3; BOOST_STATIC_CONSTANT(int, arity = 3);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -69,7 +69,7 @@ struct lambda_helper4
{ {
struct rebind struct rebind
{ {
static int const arity = 4; BOOST_STATIC_CONSTANT(int, arity = 4);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -97,7 +97,7 @@ struct lambda_helper5
{ {
struct rebind struct rebind
{ {
static int const arity = 5; BOOST_STATIC_CONSTANT(int, arity = 5);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;

View File

@@ -6,9 +6,8 @@ namespace mpl {
template<> struct arg<-1> template<> struct arg<-1>
{ {
static int const value = -1; BOOST_STATIC_CONSTANT(int, value = -1);
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
typedef void_ tag;
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -22,9 +21,9 @@ template<> struct arg<-1>
template<> struct arg<1> template<> struct arg<1>
{ {
static int const value = 1; BOOST_STATIC_CONSTANT(int, value = 1);
typedef arg<2> next; typedef arg<2> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -38,9 +37,9 @@ template<> struct arg<1>
template<> struct arg<2> template<> struct arg<2>
{ {
static int const value = 2; BOOST_STATIC_CONSTANT(int, value = 2);
typedef arg<3> next; typedef arg<3> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -54,9 +53,9 @@ template<> struct arg<2>
template<> struct arg<3> template<> struct arg<3>
{ {
static int const value = 3; BOOST_STATIC_CONSTANT(int, value = 3);
typedef arg<4> next; typedef arg<4> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -70,9 +69,9 @@ template<> struct arg<3>
template<> struct arg<4> template<> struct arg<4>
{ {
static int const value = 4; BOOST_STATIC_CONSTANT(int, value = 4);
typedef arg<5> next; typedef arg<5> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -86,9 +85,9 @@ template<> struct arg<4>
template<> struct arg<5> template<> struct arg<5>
{ {
static int const value = 5; BOOST_STATIC_CONSTANT(int, value = 5);
typedef arg<6> next; typedef arg<6> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_

View File

@@ -27,7 +27,7 @@ template<
> >
struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 > struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 >
{ {
typedef typename apply5< arg<N>,U1,U2,U3,U4,U5 >::type type; typedef typename apply5<mpl::arg< N>,U1,U2,U3,U4,U5 >::type type;
}; };
template< template<

View File

@@ -46,7 +46,7 @@ template<
> >
struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 > struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 >
{ {
typedef typename apply5< arg<N>,U1,U2,U3,U4,U5 >::type type; typedef typename apply5<mpl::arg< N>,U1,U2,U3,U4,U5 >::type type;
}; };
template< template<
@@ -86,7 +86,7 @@ struct bind0
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -126,7 +126,7 @@ struct bind1
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -171,7 +171,7 @@ struct bind2
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -221,7 +221,7 @@ struct bind3
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -276,7 +276,7 @@ struct bind4
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -337,7 +337,7 @@ struct bind5
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;

View File

@@ -12,7 +12,7 @@ struct lambda_helper1
{ {
struct rebind struct rebind
{ {
static int const arity = 1; BOOST_STATIC_CONSTANT(int, arity = 1);
typedef T1 arg1; typedef T1 arg1;
template< typename U1 > struct apply template< typename U1 > struct apply
@@ -30,7 +30,7 @@ struct lambda_helper2
{ {
struct rebind struct rebind
{ {
static int const arity = 2; BOOST_STATIC_CONSTANT(int, arity = 2);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
@@ -49,7 +49,7 @@ struct lambda_helper3
{ {
struct rebind struct rebind
{ {
static int const arity = 3; BOOST_STATIC_CONSTANT(int, arity = 3);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -69,7 +69,7 @@ struct lambda_helper4
{ {
struct rebind struct rebind
{ {
static int const arity = 4; BOOST_STATIC_CONSTANT(int, arity = 4);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -97,7 +97,7 @@ struct lambda_helper5
{ {
struct rebind struct rebind
{ {
static int const arity = 5; BOOST_STATIC_CONSTANT(int, arity = 5);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;

View File

@@ -6,7 +6,8 @@ namespace mpl {
template<> struct arg<-1> template<> struct arg<-1>
{ {
static int const value = -1; BOOST_STATIC_CONSTANT(int, value = -1);
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -15,15 +16,19 @@ template<> struct arg<-1>
struct apply struct apply
{ {
typedef U1 type; typedef U1 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<1> template<> struct arg<1>
{ {
static int const value = 1; BOOST_STATIC_CONSTANT(int, value = 1);
typedef arg<2> next; typedef arg<2> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -32,15 +37,19 @@ template<> struct arg<1>
struct apply struct apply
{ {
typedef U1 type; typedef U1 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<2> template<> struct arg<2>
{ {
static int const value = 2; BOOST_STATIC_CONSTANT(int, value = 2);
typedef arg<3> next; typedef arg<3> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -49,15 +58,19 @@ template<> struct arg<2>
struct apply struct apply
{ {
typedef U2 type; typedef U2 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<3> template<> struct arg<3>
{ {
static int const value = 3; BOOST_STATIC_CONSTANT(int, value = 3);
typedef arg<4> next; typedef arg<4> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -66,15 +79,19 @@ template<> struct arg<3>
struct apply struct apply
{ {
typedef U3 type; typedef U3 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<4> template<> struct arg<4>
{ {
static int const value = 4; BOOST_STATIC_CONSTANT(int, value = 4);
typedef arg<5> next; typedef arg<5> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -83,15 +100,19 @@ template<> struct arg<4>
struct apply struct apply
{ {
typedef U4 type; typedef U4 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<5> template<> struct arg<5>
{ {
static int const value = 5; BOOST_STATIC_CONSTANT(int, value = 5);
typedef arg<6> next; typedef arg<6> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -100,7 +121,10 @@ template<> struct arg<5>
struct apply struct apply
{ {
typedef U5 type; typedef U5 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };

View File

@@ -33,7 +33,7 @@ template<
> >
struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 > struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 >
{ {
typedef typename arg<N>::template apply< U1,U2,U3,U4,U5 >::type type; typedef typename mpl::arg<N>::template apply< U1,U2,U3,U4,U5 >::type type;
}; };
template< template<

View File

@@ -52,7 +52,7 @@ template<
> >
struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 > struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 >
{ {
typedef typename arg<N>::template apply< U1,U2,U3,U4,U5 >::type type; typedef typename mpl::arg<N>::template apply< U1,U2,U3,U4,U5 >::type type;
}; };
template< template<
@@ -108,7 +108,7 @@ struct bind0
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -156,7 +156,7 @@ struct bind1
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -209,7 +209,7 @@ struct bind2
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -267,7 +267,7 @@ struct bind3
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -330,7 +330,7 @@ struct bind4
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -399,7 +399,7 @@ struct bind5
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;

View File

@@ -12,7 +12,7 @@ struct lambda_helper1
{ {
struct rebind struct rebind
{ {
static int const arity = 1; BOOST_STATIC_CONSTANT(int, arity = 1);
typedef T1 arg1; typedef T1 arg1;
template< typename U1 > struct apply template< typename U1 > struct apply
@@ -30,7 +30,7 @@ struct lambda_helper2
{ {
struct rebind struct rebind
{ {
static int const arity = 2; BOOST_STATIC_CONSTANT(int, arity = 2);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
@@ -49,7 +49,7 @@ struct lambda_helper3
{ {
struct rebind struct rebind
{ {
static int const arity = 3; BOOST_STATIC_CONSTANT(int, arity = 3);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -69,7 +69,7 @@ struct lambda_helper4
{ {
struct rebind struct rebind
{ {
static int const arity = 4; BOOST_STATIC_CONSTANT(int, arity = 4);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -97,7 +97,7 @@ struct lambda_helper5
{ {
struct rebind struct rebind
{ {
static int const arity = 5; BOOST_STATIC_CONSTANT(int, arity = 5);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;

View File

@@ -6,9 +6,8 @@ namespace mpl {
template<> struct arg<-1> template<> struct arg<-1>
{ {
enum { value = -1 }; BOOST_STATIC_CONSTANT(int, value = -1);
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
typedef void_ tag;
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -17,16 +16,19 @@ template<> struct arg<-1>
struct apply struct apply
{ {
typedef U1 type; typedef U1 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<1> template<> struct arg<1>
{ {
enum { value = 1 }; BOOST_STATIC_CONSTANT(int, value = 1);
typedef arg<2> next; typedef arg<2> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -35,16 +37,19 @@ template<> struct arg<1>
struct apply struct apply
{ {
typedef U1 type; typedef U1 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<2> template<> struct arg<2>
{ {
enum { value = 2 }; BOOST_STATIC_CONSTANT(int, value = 2);
typedef arg<3> next; typedef arg<3> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -53,16 +58,19 @@ template<> struct arg<2>
struct apply struct apply
{ {
typedef U2 type; typedef U2 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<3> template<> struct arg<3>
{ {
enum { value = 3 }; BOOST_STATIC_CONSTANT(int, value = 3);
typedef arg<4> next; typedef arg<4> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -71,16 +79,19 @@ template<> struct arg<3>
struct apply struct apply
{ {
typedef U3 type; typedef U3 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<4> template<> struct arg<4>
{ {
enum { value = 4 }; BOOST_STATIC_CONSTANT(int, value = 4);
typedef arg<5> next; typedef arg<5> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -89,16 +100,19 @@ template<> struct arg<4>
struct apply struct apply
{ {
typedef U4 type; typedef U4 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<5> template<> struct arg<5>
{ {
enum { value = 5 }; BOOST_STATIC_CONSTANT(int, value = 5);
typedef arg<6> next; typedef arg<6> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -107,7 +121,10 @@ template<> struct arg<5>
struct apply struct apply
{ {
typedef U5 type; typedef U5 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };

View File

@@ -64,10 +64,9 @@ template< typename F, typename T > aux::yes_tag is_bind_helper(bind2nd< F,T >*);
template< typename T > struct is_bind_template template< typename T > struct is_bind_template
{ {
enum { value = BOOST_STATIC_CONSTANT(bool, value = sizeof(aux::is_bind_helper(static_cast<T*>(0)))
sizeof(aux::is_bind_helper(static_cast<T*>(0))) == == sizeof(aux::yes_tag)
sizeof(aux::yes_tag) );
};
}; };
} // namespace aux } // namespace aux

View File

@@ -90,10 +90,9 @@ template< typename F, typename T > aux::yes_tag is_bind_helper(bind2nd< F,T >*);
template< typename T > struct is_bind_template template< typename T > struct is_bind_template
{ {
enum { value = BOOST_STATIC_CONSTANT(bool, value = sizeof(aux::is_bind_helper(static_cast<T*>(0)))
sizeof(aux::is_bind_helper(static_cast<T*>(0))) == == sizeof(aux::yes_tag)
sizeof(aux::yes_tag) );
};
}; };
} // namespace aux } // namespace aux
@@ -113,7 +112,7 @@ struct bind0
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -147,7 +146,7 @@ struct bind1
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -186,7 +185,7 @@ struct bind2
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -230,7 +229,7 @@ struct bind3
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -279,7 +278,7 @@ struct bind4
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -334,7 +333,7 @@ struct bind5
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;

View File

@@ -12,7 +12,7 @@ struct lambda_helper1
{ {
struct rebind struct rebind
{ {
enum { arity = 1 }; BOOST_STATIC_CONSTANT(int, arity = 1);
typedef T1 arg1; typedef T1 arg1;
template< typename U1 > struct apply template< typename U1 > struct apply
@@ -30,7 +30,7 @@ struct lambda_helper2
{ {
struct rebind struct rebind
{ {
enum { arity = 2 }; BOOST_STATIC_CONSTANT(int, arity = 2);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
@@ -49,7 +49,7 @@ struct lambda_helper3
{ {
struct rebind struct rebind
{ {
enum { arity = 3 }; BOOST_STATIC_CONSTANT(int, arity = 3);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -69,7 +69,7 @@ struct lambda_helper4
{ {
struct rebind struct rebind
{ {
enum { arity = 4 }; BOOST_STATIC_CONSTANT(int, arity = 4);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -97,7 +97,7 @@ struct lambda_helper5
{ {
struct rebind struct rebind
{ {
enum { arity = 5 }; BOOST_STATIC_CONSTANT(int, arity = 5);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;

View File

@@ -222,13 +222,13 @@ namespace aux {
template< typename T > template< typename T >
struct is_list_arg struct is_list_arg
{ {
enum { value = true }; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_list_arg<void_> struct is_list_arg<void_>
{ {
enum { value = false }; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -237,13 +237,7 @@ template<
> >
struct list_count_args struct list_count_args
{ {
enum { value = BOOST_STATIC_CONSTANT(int, value = is_list_arg<T1>::value + is_list_arg<T2>::value + is_list_arg<T3>::value + is_list_arg<T4>::value + is_list_arg<T5>::value + is_list_arg<T6>::value + is_list_arg<T7>::value + is_list_arg<T8>::value + is_list_arg<T9>::value + is_list_arg<T10>::value);
is_list_arg<T1>::value + is_list_arg<T2>::value
+ is_list_arg<T3>::value + is_list_arg<T4>::value
+ is_list_arg<T5>::value + is_list_arg<T6>::value
+ is_list_arg<T7>::value + is_list_arg<T8>::value
+ is_list_arg<T9>::value + is_list_arg<T10>::value
};
}; };
template< template<

View File

@@ -233,13 +233,13 @@ namespace aux {
template< long T > template< long T >
struct is_list_c_arg struct is_list_c_arg
{ {
enum { value = true }; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_list_c_arg<LONG_MAX> struct is_list_c_arg<LONG_MAX>
{ {
enum { value = false }; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -248,13 +248,7 @@ template<
> >
struct list_c_count_args struct list_c_count_args
{ {
enum { value = BOOST_STATIC_CONSTANT(int, value = is_list_c_arg<T1>::value + is_list_c_arg<T2>::value + is_list_c_arg<T3>::value + is_list_c_arg<T4>::value + is_list_c_arg<T5>::value + is_list_c_arg<T6>::value + is_list_c_arg<T7>::value + is_list_c_arg<T8>::value + is_list_c_arg<T9>::value + is_list_c_arg<T10>::value);
is_list_c_arg<T1>::value + is_list_c_arg<T2>::value
+ is_list_c_arg<T3>::value + is_list_c_arg<T4>::value
+ is_list_c_arg<T5>::value + is_list_c_arg<T6>::value
+ is_list_c_arg<T7>::value + is_list_c_arg<T8>::value
+ is_list_c_arg<T9>::value + is_list_c_arg<T10>::value
};
}; };
template< template<

View File

@@ -222,13 +222,13 @@ namespace aux {
template< typename T > template< typename T >
struct is_vector_arg struct is_vector_arg
{ {
enum { value = true }; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_vector_arg<void_> struct is_vector_arg<void_>
{ {
enum { value = false }; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -237,13 +237,7 @@ template<
> >
struct vector_count_args struct vector_count_args
{ {
enum { value = BOOST_STATIC_CONSTANT(int, value = is_vector_arg<T1>::value + is_vector_arg<T2>::value + is_vector_arg<T3>::value + is_vector_arg<T4>::value + is_vector_arg<T5>::value + is_vector_arg<T6>::value + is_vector_arg<T7>::value + is_vector_arg<T8>::value + is_vector_arg<T9>::value + is_vector_arg<T10>::value);
is_vector_arg<T1>::value + is_vector_arg<T2>::value
+ is_vector_arg<T3>::value + is_vector_arg<T4>::value
+ is_vector_arg<T5>::value + is_vector_arg<T6>::value
+ is_vector_arg<T7>::value + is_vector_arg<T8>::value
+ is_vector_arg<T9>::value + is_vector_arg<T10>::value
};
}; };
template< template<

View File

@@ -233,13 +233,13 @@ namespace aux {
template< long T > template< long T >
struct is_vector_c_arg struct is_vector_c_arg
{ {
enum { value = true }; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_vector_c_arg<LONG_MAX> struct is_vector_c_arg<LONG_MAX>
{ {
enum { value = false }; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -248,13 +248,7 @@ template<
> >
struct vector_c_count_args struct vector_c_count_args
{ {
enum { value = BOOST_STATIC_CONSTANT(int, value = is_vector_c_arg<T1>::value + is_vector_c_arg<T2>::value + is_vector_c_arg<T3>::value + is_vector_c_arg<T4>::value + is_vector_c_arg<T5>::value + is_vector_c_arg<T6>::value + is_vector_c_arg<T7>::value + is_vector_c_arg<T8>::value + is_vector_c_arg<T9>::value + is_vector_c_arg<T10>::value);
is_vector_c_arg<T1>::value + is_vector_c_arg<T2>::value
+ is_vector_c_arg<T3>::value + is_vector_c_arg<T4>::value
+ is_vector_c_arg<T5>::value + is_vector_c_arg<T6>::value
+ is_vector_c_arg<T7>::value + is_vector_c_arg<T8>::value
+ is_vector_c_arg<T9>::value + is_vector_c_arg<T10>::value
};
}; };
template< template<

View File

@@ -263,13 +263,13 @@ namespace aux {
template< typename T > template< typename T >
struct is_apply_arg struct is_apply_arg
{ {
enum { value = true }; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_apply_arg<void_> struct is_apply_arg<void_>
{ {
enum { value = false }; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -277,11 +277,7 @@ template<
> >
struct apply_count_args struct apply_count_args
{ {
enum { value = BOOST_STATIC_CONSTANT(int, value = is_apply_arg<T1>::value + is_apply_arg<T2>::value + is_apply_arg<T3>::value + is_apply_arg<T4>::value + is_apply_arg<T5>::value);
is_apply_arg<T1>::value + is_apply_arg<T2>::value
+ is_apply_arg<T3>::value + is_apply_arg<T4>::value
+ is_apply_arg<T5>::value
};
}; };
} // namespace aux } // namespace aux

View File

@@ -6,9 +6,8 @@ namespace mpl {
template<> struct arg<-1> template<> struct arg<-1>
{ {
enum { value = -1 }; BOOST_STATIC_CONSTANT(int, value = -1);
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
typedef void_ tag;
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -17,16 +16,19 @@ template<> struct arg<-1>
struct apply struct apply
{ {
typedef U1 type; typedef U1 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<1> template<> struct arg<1>
{ {
enum { value = 1 }; BOOST_STATIC_CONSTANT(int, value = 1);
typedef arg<2> next; typedef arg<2> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -35,16 +37,19 @@ template<> struct arg<1>
struct apply struct apply
{ {
typedef U1 type; typedef U1 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<2> template<> struct arg<2>
{ {
enum { value = 2 }; BOOST_STATIC_CONSTANT(int, value = 2);
typedef arg<3> next; typedef arg<3> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -53,16 +58,19 @@ template<> struct arg<2>
struct apply struct apply
{ {
typedef U2 type; typedef U2 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<3> template<> struct arg<3>
{ {
enum { value = 3 }; BOOST_STATIC_CONSTANT(int, value = 3);
typedef arg<4> next; typedef arg<4> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -71,16 +79,19 @@ template<> struct arg<3>
struct apply struct apply
{ {
typedef U3 type; typedef U3 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<4> template<> struct arg<4>
{ {
enum { value = 4 }; BOOST_STATIC_CONSTANT(int, value = 4);
typedef arg<5> next; typedef arg<5> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -89,16 +100,19 @@ template<> struct arg<4>
struct apply struct apply
{ {
typedef U4 type; typedef U4 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<5> template<> struct arg<5>
{ {
enum { value = 5 }; BOOST_STATIC_CONSTANT(int, value = 5);
typedef arg<6> next; typedef arg<6> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -107,7 +121,10 @@ template<> struct arg<5>
struct apply struct apply
{ {
typedef U5 type; typedef U5 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };

View File

@@ -64,10 +64,9 @@ template< typename F, typename T > aux::yes_tag is_bind_helper(bind2nd< F,T >*);
template< typename T > struct is_bind_template template< typename T > struct is_bind_template
{ {
enum { value = BOOST_STATIC_CONSTANT(bool, value = sizeof(aux::is_bind_helper(static_cast<T*>(0)))
sizeof(aux::is_bind_helper(static_cast<T*>(0))) == == sizeof(aux::yes_tag)
sizeof(aux::yes_tag) );
};
}; };
} // namespace aux } // namespace aux

View File

@@ -90,10 +90,9 @@ template< typename F, typename T > aux::yes_tag is_bind_helper(bind2nd< F,T >*);
template< typename T > struct is_bind_template template< typename T > struct is_bind_template
{ {
enum { value = BOOST_STATIC_CONSTANT(bool, value = sizeof(aux::is_bind_helper(static_cast<T*>(0)))
sizeof(aux::is_bind_helper(static_cast<T*>(0))) == == sizeof(aux::yes_tag)
sizeof(aux::yes_tag) );
};
}; };
} // namespace aux } // namespace aux
@@ -113,7 +112,7 @@ struct bind0
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -147,7 +146,7 @@ struct bind1
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -186,7 +185,7 @@ struct bind2
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -230,7 +229,7 @@ struct bind3
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -279,7 +278,7 @@ struct bind4
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -334,7 +333,7 @@ struct bind5
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;

View File

@@ -12,7 +12,7 @@ struct lambda_helper1
{ {
struct rebind struct rebind
{ {
enum { arity = 1 }; BOOST_STATIC_CONSTANT(int, arity = 1);
typedef T1 arg1; typedef T1 arg1;
template< typename U1 > struct apply template< typename U1 > struct apply
@@ -30,7 +30,7 @@ struct lambda_helper2
{ {
struct rebind struct rebind
{ {
enum { arity = 2 }; BOOST_STATIC_CONSTANT(int, arity = 2);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
@@ -49,7 +49,7 @@ struct lambda_helper3
{ {
struct rebind struct rebind
{ {
enum { arity = 3 }; BOOST_STATIC_CONSTANT(int, arity = 3);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -69,7 +69,7 @@ struct lambda_helper4
{ {
struct rebind struct rebind
{ {
enum { arity = 4 }; BOOST_STATIC_CONSTANT(int, arity = 4);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -97,7 +97,7 @@ struct lambda_helper5
{ {
struct rebind struct rebind
{ {
enum { arity = 5 }; BOOST_STATIC_CONSTANT(int, arity = 5);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;

View File

@@ -222,13 +222,13 @@ namespace aux {
template< typename T > template< typename T >
struct is_list_arg struct is_list_arg
{ {
enum { value = true }; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_list_arg<void_> struct is_list_arg<void_>
{ {
enum { value = false }; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -237,13 +237,7 @@ template<
> >
struct list_count_args struct list_count_args
{ {
enum { value = BOOST_STATIC_CONSTANT(int, value = is_list_arg<T1>::value + is_list_arg<T2>::value + is_list_arg<T3>::value + is_list_arg<T4>::value + is_list_arg<T5>::value + is_list_arg<T6>::value + is_list_arg<T7>::value + is_list_arg<T8>::value + is_list_arg<T9>::value + is_list_arg<T10>::value);
is_list_arg<T1>::value + is_list_arg<T2>::value
+ is_list_arg<T3>::value + is_list_arg<T4>::value
+ is_list_arg<T5>::value + is_list_arg<T6>::value
+ is_list_arg<T7>::value + is_list_arg<T8>::value
+ is_list_arg<T9>::value + is_list_arg<T10>::value
};
}; };
template< template<

View File

@@ -233,13 +233,13 @@ namespace aux {
template< long T > template< long T >
struct is_list_c_arg struct is_list_c_arg
{ {
enum { value = true }; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_list_c_arg<LONG_MAX> struct is_list_c_arg<LONG_MAX>
{ {
enum { value = false }; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -248,13 +248,7 @@ template<
> >
struct list_c_count_args struct list_c_count_args
{ {
enum { value = BOOST_STATIC_CONSTANT(int, value = is_list_c_arg<T1>::value + is_list_c_arg<T2>::value + is_list_c_arg<T3>::value + is_list_c_arg<T4>::value + is_list_c_arg<T5>::value + is_list_c_arg<T6>::value + is_list_c_arg<T7>::value + is_list_c_arg<T8>::value + is_list_c_arg<T9>::value + is_list_c_arg<T10>::value);
is_list_c_arg<T1>::value + is_list_c_arg<T2>::value
+ is_list_c_arg<T3>::value + is_list_c_arg<T4>::value
+ is_list_c_arg<T5>::value + is_list_c_arg<T6>::value
+ is_list_c_arg<T7>::value + is_list_c_arg<T8>::value
+ is_list_c_arg<T9>::value + is_list_c_arg<T10>::value
};
}; };
template< template<

View File

@@ -222,13 +222,13 @@ namespace aux {
template< typename T > template< typename T >
struct is_vector_arg struct is_vector_arg
{ {
enum { value = true }; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_vector_arg<void_> struct is_vector_arg<void_>
{ {
enum { value = false }; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -237,13 +237,7 @@ template<
> >
struct vector_count_args struct vector_count_args
{ {
enum { value = BOOST_STATIC_CONSTANT(int, value = is_vector_arg<T1>::value + is_vector_arg<T2>::value + is_vector_arg<T3>::value + is_vector_arg<T4>::value + is_vector_arg<T5>::value + is_vector_arg<T6>::value + is_vector_arg<T7>::value + is_vector_arg<T8>::value + is_vector_arg<T9>::value + is_vector_arg<T10>::value);
is_vector_arg<T1>::value + is_vector_arg<T2>::value
+ is_vector_arg<T3>::value + is_vector_arg<T4>::value
+ is_vector_arg<T5>::value + is_vector_arg<T6>::value
+ is_vector_arg<T7>::value + is_vector_arg<T8>::value
+ is_vector_arg<T9>::value + is_vector_arg<T10>::value
};
}; };
template< template<

View File

@@ -233,13 +233,13 @@ namespace aux {
template< long T > template< long T >
struct is_vector_c_arg struct is_vector_c_arg
{ {
enum { value = true }; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_vector_c_arg<LONG_MAX> struct is_vector_c_arg<LONG_MAX>
{ {
enum { value = false }; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -248,13 +248,7 @@ template<
> >
struct vector_c_count_args struct vector_c_count_args
{ {
enum { value = BOOST_STATIC_CONSTANT(int, value = is_vector_c_arg<T1>::value + is_vector_c_arg<T2>::value + is_vector_c_arg<T3>::value + is_vector_c_arg<T4>::value + is_vector_c_arg<T5>::value + is_vector_c_arg<T6>::value + is_vector_c_arg<T7>::value + is_vector_c_arg<T8>::value + is_vector_c_arg<T9>::value + is_vector_c_arg<T10>::value);
is_vector_c_arg<T1>::value + is_vector_c_arg<T2>::value
+ is_vector_c_arg<T3>::value + is_vector_c_arg<T4>::value
+ is_vector_c_arg<T5>::value + is_vector_c_arg<T6>::value
+ is_vector_c_arg<T7>::value + is_vector_c_arg<T8>::value
+ is_vector_c_arg<T9>::value + is_vector_c_arg<T10>::value
};
}; };
template< template<

View File

@@ -6,7 +6,8 @@ namespace mpl {
template<> struct arg<-1> template<> struct arg<-1>
{ {
static int const value = -1; BOOST_STATIC_CONSTANT(int, value = -1);
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -15,15 +16,19 @@ template<> struct arg<-1>
struct apply struct apply
{ {
typedef U1 type; typedef U1 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<1> template<> struct arg<1>
{ {
static int const value = 1; BOOST_STATIC_CONSTANT(int, value = 1);
typedef arg<2> next; typedef arg<2> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -32,15 +37,19 @@ template<> struct arg<1>
struct apply struct apply
{ {
typedef U1 type; typedef U1 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<2> template<> struct arg<2>
{ {
static int const value = 2; BOOST_STATIC_CONSTANT(int, value = 2);
typedef arg<3> next; typedef arg<3> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -49,15 +58,19 @@ template<> struct arg<2>
struct apply struct apply
{ {
typedef U2 type; typedef U2 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<3> template<> struct arg<3>
{ {
static int const value = 3; BOOST_STATIC_CONSTANT(int, value = 3);
typedef arg<4> next; typedef arg<4> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -66,15 +79,19 @@ template<> struct arg<3>
struct apply struct apply
{ {
typedef U3 type; typedef U3 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<4> template<> struct arg<4>
{ {
static int const value = 4; BOOST_STATIC_CONSTANT(int, value = 4);
typedef arg<5> next; typedef arg<5> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -83,15 +100,19 @@ template<> struct arg<4>
struct apply struct apply
{ {
typedef U4 type; typedef U4 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<5> template<> struct arg<5>
{ {
static int const value = 5; BOOST_STATIC_CONSTANT(int, value = 5);
typedef arg<6> next; typedef arg<6> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -100,7 +121,10 @@ template<> struct arg<5>
struct apply struct apply
{ {
typedef U5 type; typedef U5 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };

View File

@@ -33,7 +33,7 @@ template<
> >
struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 > struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 >
{ {
typedef typename apply5< arg<N>,U1,U2,U3,U4,U5 >::type type; typedef typename apply5<mpl::arg< N>,U1,U2,U3,U4,U5 >::type type;
}; };
template< template<

View File

@@ -52,7 +52,7 @@ template<
> >
struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 > struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 >
{ {
typedef typename apply5< arg<N>,U1,U2,U3,U4,U5 >::type type; typedef typename apply5<mpl::arg< N>,U1,U2,U3,U4,U5 >::type type;
}; };
template< template<
@@ -108,7 +108,7 @@ struct bind0
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -156,7 +156,7 @@ struct bind1
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -209,7 +209,7 @@ struct bind2
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -267,7 +267,7 @@ struct bind3
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -330,7 +330,7 @@ struct bind4
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -399,7 +399,7 @@ struct bind5
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;

View File

@@ -12,7 +12,7 @@ struct lambda_helper1
{ {
struct rebind struct rebind
{ {
static int const arity = 1; BOOST_STATIC_CONSTANT(int, arity = 1);
typedef T1 arg1; typedef T1 arg1;
template< typename U1 > struct apply template< typename U1 > struct apply
@@ -30,7 +30,7 @@ struct lambda_helper2
{ {
struct rebind struct rebind
{ {
static int const arity = 2; BOOST_STATIC_CONSTANT(int, arity = 2);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
@@ -49,7 +49,7 @@ struct lambda_helper3
{ {
struct rebind struct rebind
{ {
static int const arity = 3; BOOST_STATIC_CONSTANT(int, arity = 3);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -69,7 +69,7 @@ struct lambda_helper4
{ {
struct rebind struct rebind
{ {
static int const arity = 4; BOOST_STATIC_CONSTANT(int, arity = 4);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -97,7 +97,7 @@ struct lambda_helper5
{ {
struct rebind struct rebind
{ {
static int const arity = 5; BOOST_STATIC_CONSTANT(int, arity = 5);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;

View File

@@ -263,13 +263,13 @@ namespace aux {
template< typename T > template< typename T >
struct is_apply_arg struct is_apply_arg
{ {
static bool const value = true; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_apply_arg<void_> struct is_apply_arg<void_>
{ {
static bool const value = false; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -277,11 +277,7 @@ template<
> >
struct apply_count_args struct apply_count_args
{ {
static int const value = BOOST_STATIC_CONSTANT(int, value = is_apply_arg<T1>::value + is_apply_arg<T2>::value + is_apply_arg<T3>::value + is_apply_arg<T4>::value + is_apply_arg<T5>::value);
is_apply_arg<T1>::value + is_apply_arg<T2>::value
+ is_apply_arg<T3>::value + is_apply_arg<T4>::value
+ is_apply_arg<T5>::value
;
}; };
} // namespace aux } // namespace aux

View File

@@ -6,9 +6,8 @@ namespace mpl {
template<> struct arg<-1> template<> struct arg<-1>
{ {
static int const value = -1; BOOST_STATIC_CONSTANT(int, value = -1);
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
typedef void_ tag;
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -17,16 +16,19 @@ template<> struct arg<-1>
struct apply struct apply
{ {
typedef U1 type; typedef U1 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<1> template<> struct arg<1>
{ {
static int const value = 1; BOOST_STATIC_CONSTANT(int, value = 1);
typedef arg<2> next; typedef arg<2> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -35,16 +37,19 @@ template<> struct arg<1>
struct apply struct apply
{ {
typedef U1 type; typedef U1 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<2> template<> struct arg<2>
{ {
static int const value = 2; BOOST_STATIC_CONSTANT(int, value = 2);
typedef arg<3> next; typedef arg<3> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -53,16 +58,19 @@ template<> struct arg<2>
struct apply struct apply
{ {
typedef U2 type; typedef U2 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<3> template<> struct arg<3>
{ {
static int const value = 3; BOOST_STATIC_CONSTANT(int, value = 3);
typedef arg<4> next; typedef arg<4> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -71,16 +79,19 @@ template<> struct arg<3>
struct apply struct apply
{ {
typedef U3 type; typedef U3 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<4> template<> struct arg<4>
{ {
static int const value = 4; BOOST_STATIC_CONSTANT(int, value = 4);
typedef arg<5> next; typedef arg<5> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -89,16 +100,19 @@ template<> struct arg<4>
struct apply struct apply
{ {
typedef U4 type; typedef U4 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<5> template<> struct arg<5>
{ {
static int const value = 5; BOOST_STATIC_CONSTANT(int, value = 5);
typedef arg<6> next; typedef arg<6> next;
typedef void_ tag; BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -107,7 +121,10 @@ template<> struct arg<5>
struct apply struct apply
{ {
typedef U5 type; typedef U5 type;
BOOST_STATIC_ASSERT(!is_void_<type>::value);
private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv);
}; };
}; };

View File

@@ -76,10 +76,9 @@ template< typename F, typename T > aux::yes_tag is_bind_helper(bind2nd< F,T >*);
template< typename T > struct is_bind_template template< typename T > struct is_bind_template
{ {
static bool const value = BOOST_STATIC_CONSTANT(bool, value = sizeof(aux::is_bind_helper(static_cast<T*>(0)))
sizeof(aux::is_bind_helper(static_cast<T*>(0))) == == sizeof(aux::yes_tag)
sizeof(aux::yes_tag) );
;
}; };
} // namespace aux } // namespace aux
@@ -402,13 +401,13 @@ namespace aux {
template< typename T > template< typename T >
struct is_bind_arg struct is_bind_arg
{ {
static bool const value = true; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_bind_arg<void_> struct is_bind_arg<void_>
{ {
static bool const value = false; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -416,11 +415,7 @@ template<
> >
struct bind_count_args struct bind_count_args
{ {
static int const value = BOOST_STATIC_CONSTANT(int, value = is_bind_arg<T1>::value + is_bind_arg<T2>::value + is_bind_arg<T3>::value + is_bind_arg<T4>::value + is_bind_arg<T5>::value);
is_bind_arg<T1>::value + is_bind_arg<T2>::value
+ is_bind_arg<T3>::value + is_bind_arg<T4>::value
+ is_bind_arg<T5>::value
;
}; };
} }

View File

@@ -102,10 +102,9 @@ template< typename F, typename T > aux::yes_tag is_bind_helper(bind2nd< F,T >*);
template< typename T > struct is_bind_template template< typename T > struct is_bind_template
{ {
static bool const value = BOOST_STATIC_CONSTANT(bool, value = sizeof(aux::is_bind_helper(static_cast<T*>(0)))
sizeof(aux::is_bind_helper(static_cast<T*>(0))) == == sizeof(aux::yes_tag)
sizeof(aux::yes_tag) );
;
}; };
} // namespace aux } // namespace aux
@@ -130,7 +129,7 @@ struct bind0
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -181,7 +180,7 @@ struct bind1
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -237,7 +236,7 @@ struct bind2
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -298,7 +297,7 @@ struct bind3
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -364,7 +363,7 @@ struct bind4
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -436,7 +435,7 @@ struct bind5
struct apply struct apply
{ {
private: private:
typedef aux::replace_unnamed_arg< F,arg<1> > r0; typedef aux::replace_unnamed_arg< F, mpl::arg< 1> > r0;
typedef typename r0::type a0; typedef typename r0::type a0;
typedef typename r0::next_arg n1; typedef typename r0::next_arg n1;
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
@@ -506,13 +505,13 @@ namespace aux {
template< typename T > template< typename T >
struct is_bind_arg struct is_bind_arg
{ {
static bool const value = true; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_bind_arg<void_> struct is_bind_arg<void_>
{ {
static bool const value = false; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -520,11 +519,7 @@ template<
> >
struct bind_count_args struct bind_count_args
{ {
static int const value = BOOST_STATIC_CONSTANT(int, value = is_bind_arg<T1>::value + is_bind_arg<T2>::value + is_bind_arg<T3>::value + is_bind_arg<T4>::value + is_bind_arg<T5>::value);
is_bind_arg<T1>::value + is_bind_arg<T2>::value
+ is_bind_arg<T3>::value + is_bind_arg<T4>::value
+ is_bind_arg<T5>::value
;
}; };
} }

View File

@@ -12,7 +12,7 @@ struct lambda_helper1
{ {
struct rebind struct rebind
{ {
static int const arity = 1; BOOST_STATIC_CONSTANT(int, arity = 1);
typedef T1 arg1; typedef T1 arg1;
template< typename U1 > struct apply template< typename U1 > struct apply
@@ -30,7 +30,7 @@ struct lambda_helper2
{ {
struct rebind struct rebind
{ {
static int const arity = 2; BOOST_STATIC_CONSTANT(int, arity = 2);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
@@ -49,7 +49,7 @@ struct lambda_helper3
{ {
struct rebind struct rebind
{ {
static int const arity = 3; BOOST_STATIC_CONSTANT(int, arity = 3);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -69,7 +69,7 @@ struct lambda_helper4
{ {
struct rebind struct rebind
{ {
static int const arity = 4; BOOST_STATIC_CONSTANT(int, arity = 4);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -97,7 +97,7 @@ struct lambda_helper5
{ {
struct rebind struct rebind
{ {
static int const arity = 5; BOOST_STATIC_CONSTANT(int, arity = 5);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;

View File

@@ -222,13 +222,13 @@ namespace aux {
template< typename T > template< typename T >
struct is_list_arg struct is_list_arg
{ {
static bool const value = true; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_list_arg<void_> struct is_list_arg<void_>
{ {
static bool const value = false; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -237,13 +237,7 @@ template<
> >
struct list_count_args struct list_count_args
{ {
static int const value = BOOST_STATIC_CONSTANT(int, value = is_list_arg<T1>::value + is_list_arg<T2>::value + is_list_arg<T3>::value + is_list_arg<T4>::value + is_list_arg<T5>::value + is_list_arg<T6>::value + is_list_arg<T7>::value + is_list_arg<T8>::value + is_list_arg<T9>::value + is_list_arg<T10>::value);
is_list_arg<T1>::value + is_list_arg<T2>::value
+ is_list_arg<T3>::value + is_list_arg<T4>::value
+ is_list_arg<T5>::value + is_list_arg<T6>::value
+ is_list_arg<T7>::value + is_list_arg<T8>::value
+ is_list_arg<T9>::value + is_list_arg<T10>::value
;
}; };
template< template<

View File

@@ -233,13 +233,13 @@ namespace aux {
template< long T > template< long T >
struct is_list_c_arg struct is_list_c_arg
{ {
static bool const value = true; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_list_c_arg<LONG_MAX> struct is_list_c_arg<LONG_MAX>
{ {
static bool const value = false; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -248,13 +248,7 @@ template<
> >
struct list_c_count_args struct list_c_count_args
{ {
static int const value = BOOST_STATIC_CONSTANT(int, value = is_list_c_arg<T1>::value + is_list_c_arg<T2>::value + is_list_c_arg<T3>::value + is_list_c_arg<T4>::value + is_list_c_arg<T5>::value + is_list_c_arg<T6>::value + is_list_c_arg<T7>::value + is_list_c_arg<T8>::value + is_list_c_arg<T9>::value + is_list_c_arg<T10>::value);
is_list_c_arg<T1>::value + is_list_c_arg<T2>::value
+ is_list_c_arg<T3>::value + is_list_c_arg<T4>::value
+ is_list_c_arg<T5>::value + is_list_c_arg<T6>::value
+ is_list_c_arg<T7>::value + is_list_c_arg<T8>::value
+ is_list_c_arg<T9>::value + is_list_c_arg<T10>::value
;
}; };
template< template<

View File

@@ -222,13 +222,13 @@ namespace aux {
template< typename T > template< typename T >
struct is_vector_arg struct is_vector_arg
{ {
static bool const value = true; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_vector_arg<void_> struct is_vector_arg<void_>
{ {
static bool const value = false; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -237,13 +237,7 @@ template<
> >
struct vector_count_args struct vector_count_args
{ {
static int const value = BOOST_STATIC_CONSTANT(int, value = is_vector_arg<T1>::value + is_vector_arg<T2>::value + is_vector_arg<T3>::value + is_vector_arg<T4>::value + is_vector_arg<T5>::value + is_vector_arg<T6>::value + is_vector_arg<T7>::value + is_vector_arg<T8>::value + is_vector_arg<T9>::value + is_vector_arg<T10>::value);
is_vector_arg<T1>::value + is_vector_arg<T2>::value
+ is_vector_arg<T3>::value + is_vector_arg<T4>::value
+ is_vector_arg<T5>::value + is_vector_arg<T6>::value
+ is_vector_arg<T7>::value + is_vector_arg<T8>::value
+ is_vector_arg<T9>::value + is_vector_arg<T10>::value
;
}; };
template< template<

View File

@@ -233,13 +233,13 @@ namespace aux {
template< long T > template< long T >
struct is_vector_c_arg struct is_vector_c_arg
{ {
static bool const value = true; BOOST_STATIC_CONSTANT(bool, value = true);
}; };
template<> template<>
struct is_vector_c_arg<LONG_MAX> struct is_vector_c_arg<LONG_MAX>
{ {
static bool const value = false; BOOST_STATIC_CONSTANT(bool, value = false);
}; };
template< template<
@@ -248,13 +248,7 @@ template<
> >
struct vector_c_count_args struct vector_c_count_args
{ {
static int const value = BOOST_STATIC_CONSTANT(int, value = is_vector_c_arg<T1>::value + is_vector_c_arg<T2>::value + is_vector_c_arg<T3>::value + is_vector_c_arg<T4>::value + is_vector_c_arg<T5>::value + is_vector_c_arg<T6>::value + is_vector_c_arg<T7>::value + is_vector_c_arg<T8>::value + is_vector_c_arg<T9>::value + is_vector_c_arg<T10>::value);
is_vector_c_arg<T1>::value + is_vector_c_arg<T2>::value
+ is_vector_c_arg<T3>::value + is_vector_c_arg<T4>::value
+ is_vector_c_arg<T5>::value + is_vector_c_arg<T6>::value
+ is_vector_c_arg<T7>::value + is_vector_c_arg<T8>::value
+ is_vector_c_arg<T9>::value + is_vector_c_arg<T10>::value
;
}; };
template< template<

View File

@@ -6,7 +6,8 @@ namespace mpl {
template<> struct arg<-1> template<> struct arg<-1>
{ {
static int const value = -1; BOOST_STATIC_CONSTANT(int, value = -1);
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -15,16 +16,19 @@ template<> struct arg<-1>
struct apply struct apply
{ {
typedef U1 type; typedef U1 type;
private: private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value); BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv); BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<1> template<> struct arg<1>
{ {
static int const value = 1; BOOST_STATIC_CONSTANT(int, value = 1);
typedef arg<2> next; typedef arg<2> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -33,16 +37,19 @@ template<> struct arg<1>
struct apply struct apply
{ {
typedef U1 type; typedef U1 type;
private: private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value); BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv); BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<2> template<> struct arg<2>
{ {
static int const value = 2; BOOST_STATIC_CONSTANT(int, value = 2);
typedef arg<3> next; typedef arg<3> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -51,16 +58,19 @@ template<> struct arg<2>
struct apply struct apply
{ {
typedef U2 type; typedef U2 type;
private: private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value); BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv); BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<3> template<> struct arg<3>
{ {
static int const value = 3; BOOST_STATIC_CONSTANT(int, value = 3);
typedef arg<4> next; typedef arg<4> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -69,16 +79,19 @@ template<> struct arg<3>
struct apply struct apply
{ {
typedef U3 type; typedef U3 type;
private: private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value); BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv); BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<4> template<> struct arg<4>
{ {
static int const value = 4; BOOST_STATIC_CONSTANT(int, value = 4);
typedef arg<5> next; typedef arg<5> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -87,16 +100,19 @@ template<> struct arg<4>
struct apply struct apply
{ {
typedef U4 type; typedef U4 type;
private: private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value); BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv); BOOST_STATIC_ASSERT(nv);
}; };
}; };
template<> struct arg<5> template<> struct arg<5>
{ {
static int const value = 5; BOOST_STATIC_CONSTANT(int, value = 5);
typedef arg<6> next; typedef arg<6> next;
BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
template< template<
typename U1 = void_, typename U2 = void_, typename U3 = void_ typename U1 = void_, typename U2 = void_, typename U3 = void_
@@ -105,9 +121,11 @@ template<> struct arg<5>
struct apply struct apply
{ {
typedef U5 type; typedef U5 type;
private: private:
BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value); BOOST_STATIC_CONSTANT(bool, nv = !is_void_<type>::value);
BOOST_STATIC_ASSERT(nv); BOOST_STATIC_ASSERT(nv);
}; };
}; };

View File

@@ -12,7 +12,7 @@ struct lambda_helper1
{ {
struct rebind struct rebind
{ {
static int const arity = 1; BOOST_STATIC_CONSTANT(int, arity = 1);
typedef T1 arg1; typedef T1 arg1;
template< typename U1 > struct apply template< typename U1 > struct apply
@@ -30,7 +30,7 @@ struct lambda_helper2
{ {
struct rebind struct rebind
{ {
static int const arity = 2; BOOST_STATIC_CONSTANT(int, arity = 2);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
@@ -49,7 +49,7 @@ struct lambda_helper3
{ {
struct rebind struct rebind
{ {
static int const arity = 3; BOOST_STATIC_CONSTANT(int, arity = 3);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -69,7 +69,7 @@ struct lambda_helper4
{ {
struct rebind struct rebind
{ {
static int const arity = 4; BOOST_STATIC_CONSTANT(int, arity = 4);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;
@@ -97,7 +97,7 @@ struct lambda_helper5
{ {
struct rebind struct rebind
{ {
static int const arity = 5; BOOST_STATIC_CONSTANT(int, arity = 5);
typedef T1 arg1; typedef T1 arg1;
typedef T2 arg2; typedef T2 arg2;
typedef T3 arg3; typedef T3 arg3;