-----Original Message-----
From: boost-users-bounces@lists.boost.org on behalf of Peter Dimov
Sent: Tue 1/16/2007 4:17 PM
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] [Bind] arity of arbitrary object
Sohail Somani wrote:
> Hi, I've attached up something that seems to kind of maybe work in
> g++. Don't have access to any other compiler at the moment, so I
> can't tell you if it will work or if it is even conforming to
> standard.
No, this doesn't quite work. It says that bind( f, _5 ) has arity 1, but the
correct answer is 5. Similarly, it says that bind( f, 1, 2 ) has arity 2,
while the correct answer is 0. You need something like (pseudocode)
arity( _bi::bind_t<R,F,L> ) :- max( arity( e ) ) for each e in L
arity( X ) :- is_placeholder<X>::value
This could be much easier with a bind that uses a fusion tuple as L. :-)
--------------------
Ah, you're right! Could it still be made to work using the same idea? I'm actually not sure what the bind_t type looks like when you do bind(f,_5).
With you on fusion tuple :-)