> I did it that way so that it would be easy to add things like > zero_or_minus_onep without cut-&-pasting the whole structure.
Yes, I inferred that, but people can still templatize afterward if need be. Following this line of reasoning, why to limit yourself to this arbitrary number of 2 values in the template, I'm sure one can imagine the need in some distant future for initializer_each_minus_one_or_zero_or_onep. ;-) -- Eric Botcazou