This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++11 status.
Section: 33.10.10.2 [futures.task.members] Status: C++11 Submitter: INCITS Opened: 2010-08-25 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [futures.task.members].
View all issues with C++11 status.
Discussion:
Addresses US-207
The constructor that takes R(*)(ArgTypes...) is not needed; the constructor that takes a callable type works for this argument type. More generally, the constructors for packaged_task should parallel those for function.
[ US-207 Suggested Resolution: ]
Review the constructors for packaged_task and provide the same ones as function, except where inappropriate.
[ 2010-10-22 Howard provides wording, as requested by the LWG in Rapperswil. ]
[2011-02-10 Reflector discussion]
Moved to Tentatively Ready after 5 votes.
Proposed resolution:
Alter the list of constructors in both 33.10.10 [futures.task] and in 33.10.10.2 [futures.task.members] as indicated:
template <class F> explicit packaged_task(F f); template <class F, class Allocator> explicit packaged_task(allocator_arg_t, const Allocator& a, F f); explicit packaged_task(R(*f)(ArgTypes...));template <class F> explicit packaged_task(F&& f); template <class F, class Allocator> explicit packaged_task(allocator_arg_t, const Allocator& a, F&& f);