On Friday 27 September 2013 00:23:08 Emil Dotchevski wrote:
On Thu, Sep 26, 2013 at 11:37 PM, Andrey Semashev
wrote: On Thursday 26 September 2013 16:24:21 Emil Dotchevski wrote:
On Thu, Sep 26, 2013 at 4:20 PM, Evgeny Panasyuk
wrote: 27.09.2013 3:08, Emil Dotchevski:
Perhaps I'm missing something, but if it is a facility that aids the scope_exit library, it should be part of the scope_exit library. Do you feel that it should be part of Boost Exception?
There are two parts: 1. function uncaught_exception_count 2. scope(failure) and scope(success) which are built on top of uncaught_exception_count
I have in mind two approaches: a) Add both into Boost.ScopeExit or b) As a first step add uncaught_exception_count into Boost.Exception - as it is closely related to it's theme. And then scope(failure)/scope(success) will go into Boost.ScopeExit.
Is there a use case for uncaught_exception_count other than to implement D-style scope-exit/-failure?
In Boost.Log, I use it to implement my own guard objects which must perform some finalizing work at destructor. With uncaught_exception_count I am able to detect whether the destructor is invoked as a result of an exception and cancel the work.
Isn't this the same use case as scope-failure?
The guard object in Boost.Log is not a scope guard but is a temporary object. But the use of uncaught_exception_count is very similar. I cannot reuse scope_exit(success) if you imply that.