
AMDG On 06/23/2012 03:24 PM, Robert Ramey wrote:
Kim Barrett wrote:
(Note that throw requires the argument to be copy constructible, so the described mechanism imposes no new constraint on E by requiring copy construction.)
So any boost library which previously used boost::throw exception with an exception which was non-copyable would break? I guess we're lucky no one did that.
As Kim noted above, this requirement isn't imposed by boost::throw_exception. It's imposed by the C++ langauge. C++11 15.1p5: "When the thrown object is a class object, the copy/move constructor and the destructor shall be accessible, even if the copy/move operation is elided"
thanks for explaining this. I would never have figured it without spending a lot of time.
In Christ, Steven Watanabe