Boost logo

Boost :

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


on Sat Aug 25 2007, Howard Hinnant <howard.hinnant-AT-gmail.com> 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 (http://tinyurl.com/2ph58t) and we have no programming model
   for handling it.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com
The Astoria Seminar ==> http://www.astoriaseminar.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk