Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2006-11-04 16:24:04

I have a preprocessing task that exceeds my limited abilities. If any PP
gurus want to step in and prevent me from hurting myself further, I
would be very grateful.

My problem is this: I want to mpl::and_ together a bunch of predicates.
mpl::and_ has a limit of 4 arguments. So this is wrong:

   mpl::and_< pred1, pred2, pred3, pred4, pred5 >

but this is ok:

   mpl::and_< pred1, pred2, pred3, mpl::and_< pred4, pred5 > >

The challenge, should you choose to accept it, is to write some PP magic
that, given a MAKE_PREDICATE(z, n, data) macro and a max arity (which is
greater than 4!), generates a properly nested mpl::and_-ing of the

Any takers?

Eric Niebler
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at