
On Dec 9, 2008, at 9:21 AM, Jesse Perla wrote:
I absolutely agree that if this library was purely for bounds testing, managing invariants, etc, that predicates are sufficient. But for high performance numerics, that is not what would happen. First of all, you would turn off automatic testing at runtime.
I think this is another good reason to allow disabling of these asserts specifically (as opposed to disabling all boost asserts).
But one of the key value of this library, in both release/debug, for those examples is to get information about the bounds and intervals from the type itself for generic algorithms. A predicate as a function can test assignment, but it can't give back structured data for these algorithms. If you can show me how the testing predicate can be easily queried within this framework for the type metadata itself(e.g. a list of intervals), then I will shut up.
I agree that this would be nice, but I see that as a requirement for a predicates library. If Robert wants to work on one, that would be super-cool, but I think that should be a separate library, because predicates can be used for all kinds of things. Although it might start as a child of Constrained Values... Gordon