Document Number: | N3042=10-0032 |
Date: | 2010-02-15 |
Project: | Programming Language C++ |
Detlef Vollmann <dv@vollmann.ch>
N2996 introduced two new function calls async
to start
some function asynchronously and return a future
to obtain the result of the function.
N2996 allowed for two mechanisms to run that function: in another thread
or as deferred function in the same thread.
The two launching mechanisms defined by N2996 make sense for the current revision of the standard, but future revisions of C++ might allow for a much larger variety of launching mechanisms. Some potential mechanisms might be:
Some of these future mechanisms might want to use the existing
async
function, just with a different launch policy.
With this in mind, the naming of launch::any
is
unfortunate, as it only allows for "calling in another thread"
and "calling in the same thread".
So I propose to change launch::any
to
launch::any_sync
.
In 30.6.1 [futures.overview], header <future>
synopsis, enum class launch
:
Change:
any
to
any_sync