13 Oct
2010
13 Oct
'10
1:59 a.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.