Boost logo

Boost :

From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2007-08-22 18:46:21


> I think std::condition is a special case. The exception to the rule.
>
> This is a really low-level class where we have very strong motivation
> to provide two conflicting goals: ultimate performance and
> consistency checking.

I'm not convinced that std::condition is more special in terms of
performance requirements than say std::vector or std::for_each.

There are plenty of other components that are commonly used in
performance-critical code -- which is precisely why the standard does not
require such components to detect and report errors, yet implementations
commonly detect and report them, at least in debug builds.

> And all of the sudden the above code is no longer legal. If the code
> is legal with one constructor, what is it that makes the code a logic
> error **100% of the time**, instead of a fixable exceptional
> circumstance when using the second constructor?

One can come up with any number of examples of bugs being introduced in
previously correct programs by seemingly trivial changes.

Emil Dotchevski
http://www.revergestudios.com/reblog/index.php?n=ReCode


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