
From: Jesse Perla
>>I think the best solution for dynamic constraints union (or
intersection) is to
>>use boost::signal, and this is how I would implement this. Again, this
is a
>>possible addition to the library in the future if it proves generally
needed.
>Yes, the signals approach would solve multiple constraint
bounds-checking through a predicate. But it doesn't solve my main use case:
Querying the sub-type information associated with a type for numeric algorithms,
which may not be connected intervals.
Oh, I see now. So instead of using boost::signal (which performs type erasure)
it'd be better to define a predicate containing a std::vector
. This way you could, by accessing this predicate, iterate over the intervals and query the bounds.
>>On numeric_limits:
>>Then you may specialise those functions for constrained -- I think
it's a better
>>solution than providing numeric_limits for constrained in the library.
> I hear what you are saying. Yu can't write your own numeric_limits
classes/functions... they are very platform specific and are part of the
standard. Though there may be ways to subclass from your super-type.
The standard allows to specialise numeric_limits. So I suspect you could write
(somebody please correct me if I'm wrong):
#include <limits>
namespace std {
template