From Jason Turner

[future.syn]

Diff to HTML by rtfpessoa

tmp/tmpteuyajom/{from.md → to.md} RENAMED
@@ -52,23 +52,20 @@ namespace std {
52
  class packaged_task<R(ArgTypes...)>;
53
 
54
  template<class R, class... ArgTypes>
55
  void swap(packaged_task<R(ArgTypes...)>&, packaged_task<R(ArgTypes...)>&) noexcept;
56
 
57
- template <class R, class Alloc>
58
- struct uses_allocator<packaged_task<R>, Alloc>;
59
-
60
  template<class F, class... Args>
61
- future<invoke_result_t<decay_t<F>, decay_t<Args>...>>
62
  async(F&& f, Args&&... args);
63
  template<class F, class... Args>
64
- future<invoke_result_t<decay_t<F>, decay_t<Args>...>>
65
  async(launch policy, F&& f, Args&&... args);
66
  }
67
  ```
68
 
69
- The `enum` type `launch` is a bitmask type ([[bitmask.types]]) with
70
  elements `launch::async` and `launch::deferred`.
71
 
72
  [*Note 1*: Implementations can provide bitmasks to specify restrictions
73
  on task interaction by functions launched by `async()` applicable to a
74
  corresponding subset of available launch policies. Implementations can
 
52
  class packaged_task<R(ArgTypes...)>;
53
 
54
  template<class R, class... ArgTypes>
55
  void swap(packaged_task<R(ArgTypes...)>&, packaged_task<R(ArgTypes...)>&) noexcept;
56
 
 
 
 
57
  template<class F, class... Args>
58
+ [[nodiscard]] future<invoke_result_t<decay_t<F>, decay_t<Args>...>>
59
  async(F&& f, Args&&... args);
60
  template<class F, class... Args>
61
+ [[nodiscard]] future<invoke_result_t<decay_t<F>, decay_t<Args>...>>
62
  async(launch policy, F&& f, Args&&... args);
63
  }
64
  ```
65
 
66
+ The `enum` type `launch` is a bitmask type [[bitmask.types]] with
67
  elements `launch::async` and `launch::deferred`.
68
 
69
  [*Note 1*: Implementations can provide bitmasks to specify restrictions
70
  on task interaction by functions launched by `async()` applicable to a
71
  corresponding subset of available launch policies. Implementations can