Subject: Re: [Boost-bugs] [Boost C++ Libraries] #9710: Support std::exception_ptr in boost::promise
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-03-10 22:37:01
#9710: Support std::exception_ptr in boost::promise
-------------------------------+----------------------
Reporter: ikispal@⦠| Owner: viboes
Type: Feature Requests | Status: assigned
Milestone: To Be Determined | Component: threads
Version: Boost 1.55.0 | Severity: Problem
Resolution: | Keywords: futures
-------------------------------+----------------------
Comment (by viboes):
Replying to [comment:2 Matt Calabrese]:
> This is a fairly annoying problem for me as well, especially when
writing code where you don't have control over the exception that's thrown
-- all you want to do is intercept the exception by calling
std::current_exception and set the promise. I need to use boost::futures
because of facilities like wait_for_any, but the fact that it implies no
longer being able to capture arbitrary exceptions is a fairly annoying
problem. What exactly is the issue right now that prevents adding a
std::exception_ptr overload when available? It seems like in the case that
std::exception_ptr is available, boost::future/promise could deal with
std::exception_ptr internally instead of boost::exception_ptr, correct?
Both overloads could be provided (one for std::exception_ptr and one for
boost::exception_ptr) since converting boost::exception_ptr to
std::exception_ptr should be a much simpler conversion than the other way
around and can be done inside the implementation of boost::promise.
Perhaps I'm missing some subtleties, though?
Maybe you are right and converting from boost::exception_ptr to
std::exception_ptr could be more efficient.
Ok, I will give it a try. I will request Andrey a function to do the
conversion, and apply it internally. I could also do the conversion using
the external interfaces waiting for an efficient version.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/9710#comment:3> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:15 UTC