Boost logo

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