From Jason Turner

[futures.task.nonmembers]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp349j4l41/{from.md → to.md} +75 -5
tmp/tmp349j4l41/{from.md → to.md} RENAMED
@@ -7,139 +7,209 @@ template<class R, class... ArgTypes>
7
 
8
  *Effects:* As if by `x.swap(y)`.
9
 
10
  <!-- Link reference definitions -->
11
  [alg.sorting]: algorithms.md#alg.sorting
12
- [atomics]: atomics.md#atomics
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  [barrier.syn]: #barrier.syn
 
 
14
  [basic.life]: basic.md#basic.life
15
  [basic.stc.thread]: basic.md#basic.stc.thread
16
  [bitmask.types]: library.md#bitmask.types
 
17
  [class.prop]: class.md#class.prop
 
 
18
  [condition.variable.syn]: #condition.variable.syn
19
- [cpp17.allocator]: #cpp17.allocator
20
  [cpp17.defaultconstructible]: #cpp17.defaultconstructible
21
  [cpp17.destructible]: #cpp17.destructible
22
  [cpp17.moveassignable]: #cpp17.moveassignable
23
  [cpp17.moveconstructible]: #cpp17.moveconstructible
24
  [defns.block]: intro.md#defns.block
25
  [except.terminate]: except.md#except.terminate
 
 
 
26
  [func.require]: utilities.md#func.require
 
27
  [future.syn]: #future.syn
28
  [futures]: #futures
29
  [futures.async]: #futures.async
30
  [futures.errors]: #futures.errors
31
  [futures.future.error]: #futures.future.error
32
  [futures.overview]: #futures.overview
33
  [futures.promise]: #futures.promise
34
  [futures.shared.future]: #futures.shared.future
35
  [futures.state]: #futures.state
36
  [futures.task]: #futures.task
 
37
  [futures.task.members]: #futures.task.members
38
  [futures.task.nonmembers]: #futures.task.nonmembers
39
  [futures.unique.future]: #futures.unique.future
40
  [intro.multithread]: basic.md#intro.multithread
 
41
  [intro.races]: basic.md#intro.races
42
  [latch.syn]: #latch.syn
 
43
  [mutex.syn]: #mutex.syn
44
  [res.on.data.races]: library.md#res.on.data.races
45
  [res.on.exception.handling]: library.md#res.on.exception.handling
46
  [semaphore.syn]: #semaphore.syn
47
  [shared.mutex.syn]: #shared.mutex.syn
 
48
  [stopcallback]: #stopcallback
49
  [stopcallback.cons]: #stopcallback.cons
 
50
  [stopsource]: #stopsource
51
  [stopsource.cons]: #stopsource.cons
 
52
  [stopsource.mem]: #stopsource.mem
53
  [stopsource.nonmembers]: #stopsource.nonmembers
54
  [stoptoken]: #stoptoken
55
  [stoptoken.cons]: #stoptoken.cons
 
56
  [stoptoken.mem]: #stoptoken.mem
57
  [stoptoken.nonmembers]: #stoptoken.nonmembers
58
  [syserr]: diagnostics.md#syserr
59
  [syserr.syserr]: diagnostics.md#syserr.syserr
 
 
60
  [thread]: #thread
61
  [thread.barrier]: #thread.barrier
62
  [thread.barrier.class]: #thread.barrier.class
 
63
  [thread.condition]: #thread.condition
64
  [thread.condition.condvar]: #thread.condition.condvar
65
  [thread.condition.condvarany]: #thread.condition.condvarany
 
 
66
  [thread.condition.nonmember]: #thread.condition.nonmember
67
  [thread.condvarany.intwait]: #thread.condvarany.intwait
68
  [thread.condvarany.wait]: #thread.condvarany.wait
69
  [thread.coord]: #thread.coord
 
70
  [thread.general]: #thread.general
71
  [thread.jthread.class]: #thread.jthread.class
 
72
  [thread.jthread.cons]: #thread.jthread.cons
73
  [thread.jthread.mem]: #thread.jthread.mem
74
  [thread.jthread.special]: #thread.jthread.special
75
  [thread.jthread.static]: #thread.jthread.static
76
  [thread.jthread.stop]: #thread.jthread.stop
77
  [thread.latch]: #thread.latch
78
  [thread.latch.class]: #thread.latch.class
 
79
  [thread.lock]: #thread.lock
80
  [thread.lock.algorithm]: #thread.lock.algorithm
 
81
  [thread.lock.guard]: #thread.lock.guard
82
  [thread.lock.scoped]: #thread.lock.scoped
83
  [thread.lock.shared]: #thread.lock.shared
84
  [thread.lock.shared.cons]: #thread.lock.shared.cons
 
85
  [thread.lock.shared.locking]: #thread.lock.shared.locking
86
  [thread.lock.shared.mod]: #thread.lock.shared.mod
87
  [thread.lock.shared.obs]: #thread.lock.shared.obs
88
  [thread.lock.unique]: #thread.lock.unique
89
  [thread.lock.unique.cons]: #thread.lock.unique.cons
 
90
  [thread.lock.unique.locking]: #thread.lock.unique.locking
91
  [thread.lock.unique.mod]: #thread.lock.unique.mod
92
  [thread.lock.unique.obs]: #thread.lock.unique.obs
93
  [thread.mutex]: #thread.mutex
94
  [thread.mutex.class]: #thread.mutex.class
 
95
  [thread.mutex.recursive]: #thread.mutex.recursive
96
  [thread.mutex.requirements]: #thread.mutex.requirements
97
  [thread.mutex.requirements.general]: #thread.mutex.requirements.general
98
  [thread.mutex.requirements.mutex]: #thread.mutex.requirements.mutex
 
99
  [thread.once]: #thread.once
100
  [thread.once.callonce]: #thread.once.callonce
101
  [thread.once.onceflag]: #thread.once.onceflag
102
  [thread.req]: #thread.req
103
  [thread.req.exception]: #thread.req.exception
104
  [thread.req.lockable]: #thread.req.lockable
105
  [thread.req.lockable.basic]: #thread.req.lockable.basic
106
  [thread.req.lockable.general]: #thread.req.lockable.general
107
  [thread.req.lockable.req]: #thread.req.lockable.req
 
 
108
  [thread.req.lockable.timed]: #thread.req.lockable.timed
109
  [thread.req.native]: #thread.req.native
110
  [thread.req.paramname]: #thread.req.paramname
111
  [thread.req.timing]: #thread.req.timing
112
  [thread.sema]: #thread.sema
113
  [thread.sema.cnt]: #thread.sema.cnt
 
114
  [thread.sharedmutex.class]: #thread.sharedmutex.class
115
  [thread.sharedmutex.requirements]: #thread.sharedmutex.requirements
 
116
  [thread.sharedtimedmutex.class]: #thread.sharedtimedmutex.class
117
  [thread.sharedtimedmutex.requirements]: #thread.sharedtimedmutex.requirements
 
118
  [thread.stoptoken]: #thread.stoptoken
119
  [thread.stoptoken.intro]: #thread.stoptoken.intro
120
  [thread.stoptoken.syn]: #thread.stoptoken.syn
121
  [thread.summary]: #thread.summary
122
  [thread.syn]: #thread.syn
123
  [thread.thread.algorithm]: #thread.thread.algorithm
124
  [thread.thread.assign]: #thread.thread.assign
125
  [thread.thread.class]: #thread.thread.class
 
126
  [thread.thread.constr]: #thread.thread.constr
127
  [thread.thread.destr]: #thread.thread.destr
128
  [thread.thread.id]: #thread.thread.id
129
  [thread.thread.member]: #thread.thread.member
130
  [thread.thread.static]: #thread.thread.static
131
  [thread.thread.this]: #thread.thread.this
132
  [thread.threads]: #thread.threads
 
133
  [thread.timedmutex.class]: #thread.timedmutex.class
134
  [thread.timedmutex.recursive]: #thread.timedmutex.recursive
135
  [thread.timedmutex.requirements]: #thread.timedmutex.requirements
 
136
  [time]: time.md#time
137
  [time.clock]: time.md#time.clock
138
  [time.clock.req]: time.md#time.clock.req
139
  [time.duration]: time.md#time.duration
140
  [time.point]: time.md#time.point
141
  [unord.hash]: utilities.md#unord.hash
 
 
 
 
 
142
 
143
- [^1]: All implementations for which standard time units are meaningful
144
- must necessarily have a steady clock within their hardware
145
- implementation.
 
 
 
7
 
8
  *Effects:* As if by `x.swap(y)`.
9
 
10
  <!-- Link reference definitions -->
11
  [alg.sorting]: algorithms.md#alg.sorting
12
+ [allocator.requirements.general]: library.md#allocator.requirements.general
13
+ [atomic.types.int.comp]: #atomic.types.int.comp
14
+ [atomic.types.pointer.comp]: #atomic.types.pointer.comp
15
+ [atomics]: #atomics
16
+ [atomics.alias]: #atomics.alias
17
+ [atomics.fences]: #atomics.fences
18
+ [atomics.flag]: #atomics.flag
19
+ [atomics.general]: #atomics.general
20
+ [atomics.lockfree]: #atomics.lockfree
21
+ [atomics.nonmembers]: #atomics.nonmembers
22
+ [atomics.order]: #atomics.order
23
+ [atomics.ref.float]: #atomics.ref.float
24
+ [atomics.ref.generic]: #atomics.ref.generic
25
+ [atomics.ref.generic.general]: #atomics.ref.generic.general
26
+ [atomics.ref.int]: #atomics.ref.int
27
+ [atomics.ref.memop]: #atomics.ref.memop
28
+ [atomics.ref.ops]: #atomics.ref.ops
29
+ [atomics.ref.pointer]: #atomics.ref.pointer
30
+ [atomics.syn]: #atomics.syn
31
+ [atomics.types.float]: #atomics.types.float
32
+ [atomics.types.generic]: #atomics.types.generic
33
+ [atomics.types.generic.general]: #atomics.types.generic.general
34
+ [atomics.types.int]: #atomics.types.int
35
+ [atomics.types.memop]: #atomics.types.memop
36
+ [atomics.types.operations]: #atomics.types.operations
37
+ [atomics.types.pointer]: #atomics.types.pointer
38
+ [atomics.wait]: #atomics.wait
39
  [barrier.syn]: #barrier.syn
40
+ [basic.align]: basic.md#basic.align
41
+ [basic.fundamental]: basic.md#basic.fundamental
42
  [basic.life]: basic.md#basic.life
43
  [basic.stc.thread]: basic.md#basic.stc.thread
44
  [bitmask.types]: library.md#bitmask.types
45
+ [cfenv]: numerics.md#cfenv
46
  [class.prop]: class.md#class.prop
47
+ [compliance]: library.md#compliance
48
+ [concept.booleantestable]: concepts.md#concept.booleantestable
49
  [condition.variable.syn]: #condition.variable.syn
50
+ [conv.rval]: expr.md#conv.rval
51
  [cpp17.defaultconstructible]: #cpp17.defaultconstructible
52
  [cpp17.destructible]: #cpp17.destructible
53
  [cpp17.moveassignable]: #cpp17.moveassignable
54
  [cpp17.moveconstructible]: #cpp17.moveconstructible
55
  [defns.block]: intro.md#defns.block
56
  [except.terminate]: except.md#except.terminate
57
+ [expr.pre]: expr.md#expr.pre
58
+ [format.string.std]: utilities.md#format.string.std
59
+ [func.invoke]: utilities.md#func.invoke
60
  [func.require]: utilities.md#func.require
61
+ [function.objects]: utilities.md#function.objects
62
  [future.syn]: #future.syn
63
  [futures]: #futures
64
  [futures.async]: #futures.async
65
  [futures.errors]: #futures.errors
66
  [futures.future.error]: #futures.future.error
67
  [futures.overview]: #futures.overview
68
  [futures.promise]: #futures.promise
69
  [futures.shared.future]: #futures.shared.future
70
  [futures.state]: #futures.state
71
  [futures.task]: #futures.task
72
+ [futures.task.general]: #futures.task.general
73
  [futures.task.members]: #futures.task.members
74
  [futures.task.nonmembers]: #futures.task.nonmembers
75
  [futures.unique.future]: #futures.unique.future
76
  [intro.multithread]: basic.md#intro.multithread
77
+ [intro.progress]: basic.md#intro.progress
78
  [intro.races]: basic.md#intro.races
79
  [latch.syn]: #latch.syn
80
+ [limits.syn]: support.md#limits.syn
81
  [mutex.syn]: #mutex.syn
82
  [res.on.data.races]: library.md#res.on.data.races
83
  [res.on.exception.handling]: library.md#res.on.exception.handling
84
  [semaphore.syn]: #semaphore.syn
85
  [shared.mutex.syn]: #shared.mutex.syn
86
+ [stdatomic.h.syn]: #stdatomic.h.syn
87
  [stopcallback]: #stopcallback
88
  [stopcallback.cons]: #stopcallback.cons
89
+ [stopcallback.general]: #stopcallback.general
90
  [stopsource]: #stopsource
91
  [stopsource.cons]: #stopsource.cons
92
+ [stopsource.general]: #stopsource.general
93
  [stopsource.mem]: #stopsource.mem
94
  [stopsource.nonmembers]: #stopsource.nonmembers
95
  [stoptoken]: #stoptoken
96
  [stoptoken.cons]: #stoptoken.cons
97
+ [stoptoken.general]: #stoptoken.general
98
  [stoptoken.mem]: #stoptoken.mem
99
  [stoptoken.nonmembers]: #stoptoken.nonmembers
100
  [syserr]: diagnostics.md#syserr
101
  [syserr.syserr]: diagnostics.md#syserr.syserr
102
+ [term.padding.bits]: basic.md#term.padding.bits
103
+ [term.unevaluated.operand]: expr.md#term.unevaluated.operand
104
  [thread]: #thread
105
  [thread.barrier]: #thread.barrier
106
  [thread.barrier.class]: #thread.barrier.class
107
+ [thread.barrier.general]: #thread.barrier.general
108
  [thread.condition]: #thread.condition
109
  [thread.condition.condvar]: #thread.condition.condvar
110
  [thread.condition.condvarany]: #thread.condition.condvarany
111
+ [thread.condition.condvarany.general]: #thread.condition.condvarany.general
112
+ [thread.condition.general]: #thread.condition.general
113
  [thread.condition.nonmember]: #thread.condition.nonmember
114
  [thread.condvarany.intwait]: #thread.condvarany.intwait
115
  [thread.condvarany.wait]: #thread.condvarany.wait
116
  [thread.coord]: #thread.coord
117
+ [thread.coord.general]: #thread.coord.general
118
  [thread.general]: #thread.general
119
  [thread.jthread.class]: #thread.jthread.class
120
+ [thread.jthread.class.general]: #thread.jthread.class.general
121
  [thread.jthread.cons]: #thread.jthread.cons
122
  [thread.jthread.mem]: #thread.jthread.mem
123
  [thread.jthread.special]: #thread.jthread.special
124
  [thread.jthread.static]: #thread.jthread.static
125
  [thread.jthread.stop]: #thread.jthread.stop
126
  [thread.latch]: #thread.latch
127
  [thread.latch.class]: #thread.latch.class
128
+ [thread.latch.general]: #thread.latch.general
129
  [thread.lock]: #thread.lock
130
  [thread.lock.algorithm]: #thread.lock.algorithm
131
+ [thread.lock.general]: #thread.lock.general
132
  [thread.lock.guard]: #thread.lock.guard
133
  [thread.lock.scoped]: #thread.lock.scoped
134
  [thread.lock.shared]: #thread.lock.shared
135
  [thread.lock.shared.cons]: #thread.lock.shared.cons
136
+ [thread.lock.shared.general]: #thread.lock.shared.general
137
  [thread.lock.shared.locking]: #thread.lock.shared.locking
138
  [thread.lock.shared.mod]: #thread.lock.shared.mod
139
  [thread.lock.shared.obs]: #thread.lock.shared.obs
140
  [thread.lock.unique]: #thread.lock.unique
141
  [thread.lock.unique.cons]: #thread.lock.unique.cons
142
+ [thread.lock.unique.general]: #thread.lock.unique.general
143
  [thread.lock.unique.locking]: #thread.lock.unique.locking
144
  [thread.lock.unique.mod]: #thread.lock.unique.mod
145
  [thread.lock.unique.obs]: #thread.lock.unique.obs
146
  [thread.mutex]: #thread.mutex
147
  [thread.mutex.class]: #thread.mutex.class
148
+ [thread.mutex.general]: #thread.mutex.general
149
  [thread.mutex.recursive]: #thread.mutex.recursive
150
  [thread.mutex.requirements]: #thread.mutex.requirements
151
  [thread.mutex.requirements.general]: #thread.mutex.requirements.general
152
  [thread.mutex.requirements.mutex]: #thread.mutex.requirements.mutex
153
+ [thread.mutex.requirements.mutex.general]: #thread.mutex.requirements.mutex.general
154
  [thread.once]: #thread.once
155
  [thread.once.callonce]: #thread.once.callonce
156
  [thread.once.onceflag]: #thread.once.onceflag
157
  [thread.req]: #thread.req
158
  [thread.req.exception]: #thread.req.exception
159
  [thread.req.lockable]: #thread.req.lockable
160
  [thread.req.lockable.basic]: #thread.req.lockable.basic
161
  [thread.req.lockable.general]: #thread.req.lockable.general
162
  [thread.req.lockable.req]: #thread.req.lockable.req
163
+ [thread.req.lockable.shared]: #thread.req.lockable.shared
164
+ [thread.req.lockable.shared.timed]: #thread.req.lockable.shared.timed
165
  [thread.req.lockable.timed]: #thread.req.lockable.timed
166
  [thread.req.native]: #thread.req.native
167
  [thread.req.paramname]: #thread.req.paramname
168
  [thread.req.timing]: #thread.req.timing
169
  [thread.sema]: #thread.sema
170
  [thread.sema.cnt]: #thread.sema.cnt
171
+ [thread.sema.general]: #thread.sema.general
172
  [thread.sharedmutex.class]: #thread.sharedmutex.class
173
  [thread.sharedmutex.requirements]: #thread.sharedmutex.requirements
174
+ [thread.sharedmutex.requirements.general]: #thread.sharedmutex.requirements.general
175
  [thread.sharedtimedmutex.class]: #thread.sharedtimedmutex.class
176
  [thread.sharedtimedmutex.requirements]: #thread.sharedtimedmutex.requirements
177
+ [thread.sharedtimedmutex.requirements.general]: #thread.sharedtimedmutex.requirements.general
178
  [thread.stoptoken]: #thread.stoptoken
179
  [thread.stoptoken.intro]: #thread.stoptoken.intro
180
  [thread.stoptoken.syn]: #thread.stoptoken.syn
181
  [thread.summary]: #thread.summary
182
  [thread.syn]: #thread.syn
183
  [thread.thread.algorithm]: #thread.thread.algorithm
184
  [thread.thread.assign]: #thread.thread.assign
185
  [thread.thread.class]: #thread.thread.class
186
+ [thread.thread.class.general]: #thread.thread.class.general
187
  [thread.thread.constr]: #thread.thread.constr
188
  [thread.thread.destr]: #thread.thread.destr
189
  [thread.thread.id]: #thread.thread.id
190
  [thread.thread.member]: #thread.thread.member
191
  [thread.thread.static]: #thread.thread.static
192
  [thread.thread.this]: #thread.thread.this
193
  [thread.threads]: #thread.threads
194
+ [thread.threads.general]: #thread.threads.general
195
  [thread.timedmutex.class]: #thread.timedmutex.class
196
  [thread.timedmutex.recursive]: #thread.timedmutex.recursive
197
  [thread.timedmutex.requirements]: #thread.timedmutex.requirements
198
+ [thread.timedmutex.requirements.general]: #thread.timedmutex.requirements.general
199
  [time]: time.md#time
200
  [time.clock]: time.md#time.clock
201
  [time.clock.req]: time.md#time.clock.req
202
  [time.duration]: time.md#time.duration
203
  [time.point]: time.md#time.point
204
  [unord.hash]: utilities.md#unord.hash
205
+ [util.sharedptr]: mem.md#util.sharedptr
206
+ [util.smartptr.atomic]: #util.smartptr.atomic
207
+ [util.smartptr.atomic.general]: #util.smartptr.atomic.general
208
+ [util.smartptr.atomic.shared]: #util.smartptr.atomic.shared
209
+ [util.smartptr.atomic.weak]: #util.smartptr.atomic.weak
210
 
211
+ [^1]: Implementations for which standard time units are meaningful will
212
+ typically have a steady clock within their hardware implementation.
213
+
214
+ [^2]: That is, atomic operations on the same memory location via two
215
+ different addresses will communicate atomically.