|
Boost : |
Subject: Re: [boost] [function] function wrapping with no exceptionsafetyguarantee
From: David Abrahams (dave_at_[hidden])
Date: 2010-10-12 03:34:47
At Mon, 11 Oct 2010 10:21:10 -0700,
Emil Dotchevski wrote:
>
> On Mon, Oct 11, 2010 at 7:43 AM, Domagoj Saric
> <domagoj.saric_at_[hidden]> wrote:
> > However this still does nothing concerning the exceptions vs no-exceptions
> > comparison/debate because the compiler still has to treat
> > function<>::operator() as a possibly throwing function (and add/generate
> > appropriate EH code in/for the callers) because it makes an indirect call
> > through a (undecorated) pointer...
>
> If you don't disable exception handling, the compiler must treat the
> dynamic call in boost::function as potentially throwing. There is no
> way around that.
Well, technically, an exception-specification of throw() relieves the
compiler from such an assumption.
-- Dave Abrahams BoostPro Computing http://www.boostpro.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk