
David Abrahams wrote:
What is the advantage to that over
make_list < base_hook<my_base_hook> , constant_time_size<false>
::type l;
Just that programmers might found it more familiar, like an STL container, but I must say that your approach gives me much more guarantee of a single type, something that is difficult to achieve with: set<T, set_options<...>::type >; because I can't define the same options structure as: set<T, set_options<pred<std::less<T> >, ...>::type >; ... because I have no access to the T type of the set from set_options (I could pass it again, but that would be verbose. Whereas if I define: make_set<T, pred<std::less<T>>, ...>::type l; I have all the needed data to produce a single type. Although it's a bit different from standard container definitions, your suggestion might be the right thing to do to achieve both single type and less typing. So I guess that I can offer both Tobias' approach: set<T, pred<std::greater<T>, > and your approach for people that want to make sure that the same types are being created when specifying the same options. Thanks, Ion