
--- On Mon, 5/2/11, Thomas Heller wrote:
On Mon, May 2, 2011 at 12:54 PM, Eric Niebler wrote:
Phoenix is changing the following fundamental constants:
BOOST_PROTO_MAX_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY BOOST_PROTO_MAX_LOGICAL_ARITY BOOST_RESULT_OF_NUM_ARGS
IMO, Phoenix shouldn't be touching these. It should work as best it can with the default values. Users who are so inclined can change them.
Eric, This problem is well known. As of now I have no clue how to fix it properly.
What I usually do instead of changing the values of existing constants is to start each header file with, for each fundamental constant used, what I'll dub a "constant guard": #if BOOST_PP_LESS(BOOST_PROTO_MAX_ARITY, SOME_MINIMUM_VALUE) #error Please set BOOST_PROTO_MAX_ARITY to SOME_MINIMUM_VALUE or higher #endif IOW, I'm just passing the buck to the library user or to the application developer. HTH, Cromwell D. Enage