
I've written a template class to hold a range of valid integral values. My intent was to mimic Ada's ability to define a type like this: type SmallInt is range -10 .. 10; One can then declare objects of this type and any subsequent assignment that violated this range constraint woud throw an exception. I have built a C++ template class that does the same thing: template<typename T, T min, T max> struct CheckedIntegralValue To define a type that can hold the same range as the example above: typedef CheckedIntegralValue<int, -10, 10> SmallIntType; SmallIntType i = -10;//OK SmallIntType i2 = -100;//Will throw an exception at run-time for value out-of-range I won't include the whole thing here, but I can do so if there is enough interest. I have defined most of the operators one needs to use this type just as one would use a 'normal' integer. Would anyone be interested in something like this in the Boost libraries? Regards, Dan McLeran