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.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk