Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2007-08-26 10:14:23

on Sat Aug 25 2007, Howard Hinnant <> wrote:

> The main philosophical difference between us is that I want to be able
> to choose "check", and be assured that I'm actually getting checking.
> And then I want to be able to choose "don't check". And then not have
> to pay for it. I want both choices.

I think everyone honors your desire to have these choices. I'm just
not sure it's the /standard's/ job to give them to you.

1. Aside from vector<T>::at (which IMO was a mistake), there is no
   precedent for this in the standard. We don't know that such a
   choice will serve people well.

2. As Peter already pointed out, if we mandate a check in the
   standard, the result of a failed check must be an exception (or the
   behavior of a failed assert, which I think is to abort). Neither
   of these behaviors is -- in and of itself -- useful in debugging
   (at best, you rely on your vendor to make it useful).

3. I'll say again: turning a logic error into an exception is a bad
   idea ( and we have no programming model
   for handling it.

Dave Abrahams
Boost Consulting
The Astoria Seminar ==>

Boost list run by bdawes at, gregod at, cpdaniel at, john at