>> I agree. I don't think there really is a general solution to that. >> There have been reports >> by Micheal Caisse of some macro definition nightmare while using MSM >> together with spirit. >> If i remember the details correctly, MSM changes the proto constants as well. >> This problem is not really phoenix specific! > > Oh, yeah. MSM changes Proto's max arity to be 7. OK, I can see that 5 is > too low for folks. Proto needs some work.
I'd be careful with that. Frankly, I'm thinking since a while of removing this define for 2 reasons: - 7 is actually the worst possible case which I bet nobody ever met. You need a reaaally complicated functor for this (the longest STL algorithm as eUML functor). - you might have noticed that 7 is only for VC. Why? Because a few versions of gcc crash horribly with 7 (I think 4.4), so I stop at 6 for compilers I either don't know or I know will crash. I'm wondering if it wouldn't be better to give more freedom to a user. I didn't know about Michael's problem but I bet he'd find the correct value by himself. If we let him overwrite all our values by providing his own define, he would at least have a chance. Something like: #ifdef BOOST_PROTO_USER_ARITY // we all use this value Not great but manageable. Cheers, Christophe _______________________________________________ proto mailing list [email protected] http://lists.boost.org/mailman/listinfo.cgi/proto
