"Neil Hunt"
I guess the main thrust of the question is "Does the parameters library support runtime enumeration?"
Not directly, but it seems like something we (sh/c)ould support, probably by making ArgumentPacks conforming Fusion sequences so you could use boost/spirit/fusion/algorithm/for_each.hpp to enumerate them. The problem is that I don't have expertise with Fusion-1 and AFAIK it's not fully documented. Specifically, I don't know how to make a conforming Fusion sequence. Maybe Joel can help. Joel?
or should I be looking at MPL?
Wouldn't help you, at least not directly. Well, here's one thing you could do (ALL_CAPS should be reserved for macros, so I'm going with lower_case): // untested BOOST_PARAMETER_KEYWORD(tag, person_window) BOOST_PARAMETER_KEYWORD(tag, address_window) BOOST_PARAMETER_KEYWORD(tag, employer_window) typedef mpl::vector< tag::person_window, tag::address_window, tag::employer_window
all_windows;
template