
I've managed to download this now (thanks!) and I've played about with added support for floats/doubles. I'd also quite like the idea of being able to retrieve the range of a constrained value so that I can use them in other more constrained values - e.g. degrees in a circle => [0, 359] but sometimes only half a circle is appropriate [0, 179]. I'd like to be able to model this, e.g. typedef bounded_int<int, 0, 359>::type degrees_in_circle; typedef bounded_int<int, degrees_in_circle::first, 180>::type degrees_in_semicircle; That's a bit contrived but hopefully you get my drift. Ada uses 'First and 'Last to get this sort of value and I've always found these sort of attributes (or 'traits') very useful. Cheers -- Martin