
No! Definitely no. As I understand it, those debug checks are kind of playing the role of axiomatic preconditions in debug mode, so they're actually reinforcing the correct behavior. I think.
Yes! Definately yes ;-) The checks have all manner of false-positives. They aren't axiomatic preconditions that should apply for all or even most iterator types used with iterator_range. The iterator_range simply cannot reliably determine if the iterator is invalid due to it being singular. Singularity is a property of iterators. If singulairity requires additional debugging infrastructure it should be added to a debugging iterator framework. It's far too restricting upon the typical and valid usages of iterator_range.
Okay, okay :) I agree... Ideally, there should be no checks in the iterator_range. They should be pushed out to a different framework. I was just thinking that it would cause some kind of apoplectic reaction if all of the singularity checks disappeared overnight. Andrew Sutton andrew.n.sutton@gmail.com