1275. Creating and setting futures

Section: 33.6 [futures] Status: Resolved Submitter: Jonathan Wakely Opened: 2009-11-22 Last modified: 2016-02-10

Priority: Not Prioritized

View all other issues in [futures].

View all issues with Resolved status.

Discussion:

33.6.7 [futures.unique_future]/1 should be updated to mention async.

33.6.8 [futures.shared_future]/1 should also be updated for async. That paragraph also says

... Its value or exception can be set by use of a shared_future, promise (33.6.6 [futures.promise]), or packaged_task (33.6.10 [futures.task]) object that shares the same associated state.

How can the value be set by a shared_future?

99 [futures.atomic_future]/1 says

An atomic_future object can only be created by use of a promise (33.6.6 [futures.promise]) or packaged_task (33.6.10 [futures.task]) object.

which is wrong, it's created from a std::future, which could have been default-constructed. That paragraph should be closer to the text of 33.6.8 [futures.shared_future]/1, and should also mention async.

[ 2010 Pittsburgh: Moved to NAD EditorialResolved. Rationale added below. ]

Rationale:

Solved by N3058.

Proposed resolution: