
Robert Kawulak wrote:
Hi,
Some time ago there was a discussion on the Constrained Types library. Unfortunately other duties didn't let me work on it for a long time (I apologise for this long break), but recently I started the work again. As a reminder, or short description for those who missed the discussion, there's a brief summary of usage of the library at the end of this message.
I need help in determining the most common use cases of the library. Therefore I ask anybody who ever needed such a facility to write what exactly he needed it for, what were his expectations and requirements for functionality and efficiency. In particular, answers for the following questions would be useful (but all opinions and suggestions are valuable):
- Is it worth to make different implementation of increment/decrement functions for integer types to make them much more efficient than the generic versions? This needs complicating the design a little bit (but not the usage). OTOH only ++/-- would be optimised, other operators not. So is ++/-- operation actually more common than the others that it's worth it?
No.
- Is such a feature likely to be needed: a possibility to select different out-of-bounds policies for both the bounds, e.g. throw when the lower bound is exceeded, clip when upper bound is exceeded.
No.
- How often would people need this library to work with types other than integral or floating-point? What kind of types would it be (cheap/expensive to copy)?
My usage would be integral-like types.