
12 Oct
2010
12 Oct
'10
11:59 p.m.
Daniel Walker wrote:
But the coupling with Boost.Exception is only there to implement the strong exception safety guarantee of operator().
Your terminology is wrong. Both variants of operator() have the same exception safety; and even if they didn't, nobody uses "strong exception safety" to mean "throws an exception when such-and-so". The issue is not coupling with Boost.Exception, the issue is that the user has to supply a definition of boost::throw_exception when exceptions are disabled. This was true before there were Boost.Exception.