
Hello everyone. We talked a few days ago about the design of the check library (about the compile or run-time weight parameter.) Reminder : the weights are the contribution to the running sum of a digit in a number. I used and followed your ideas and suggestions that bring me to the policies class. I tried to extract the characteristics of a "generic" check and the weight is one of these. So I tried to implement the weight policy class : #define _WEIGHT_factory(z,n,unused) \ template<BOOST_PP_ENUM_PARAMS(n, int weight)> \ struct weight_policy \ { typedef typename boost::mpl::vector_c<int BOOST_PP_COMMA_IF(n) BOOST_PP_ENUM_PARAMS(n, weight)> weight ; } ; \ BOOST_PP_REPEAT_FROM_TO(1,BOOST_CHECK_LIMIT_WEIGHTS,_WEIGHT_factory,~) #undef _WEIGHT_factory But the compiler doesn't like the "struct template parameter overloading". Is a limit of the language ? Or am I doing it in the wrong way ? If it's impossible, I though that we could passed the weights to a function that aimed to "build" the vector_c type. While we speak about the design, what do you think about the policies class ? There are useful because the core of the algorithm is the same for every checks. Every critics or suggestions are welcomed, thank you, Pierre Talbot.