]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/thread/doc/thread.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / thread / doc / thread.qbk
CommitLineData
7c673cae
FG
1[/
2 (C) Copyright 2008-11 Anthony Williams
3 (C) Copyright 2011-12 Vicente J. Botet Escriba
4 Distributed under the Boost Software License, Version 1.0.
5 (See accompanying file LICENSE_1_0.txt or copy at
6 http://www.boost.org/LICENSE_1_0.txt).
7]
8
9[library Thread
10 [quickbook 1.5]
11 [version 4.7.2]
12 [authors [Williams, Anthony] [Botet Escriba, Vicente J.]]
13 [copyright 2007-11 Anthony Williams]
14 [copyright 2011-16 Vicente J. Botet Escriba]
15 [purpose C++ Library for launching threads and synchronizing data between them]
16 [category text]
17 [license
18 Distributed under the Boost Software License, Version 1.0.
19 (See accompanying file LICENSE_1_0.txt or copy at
20 [@http://www.boost.org/LICENSE_1_0.txt])
21 ]
22]
23
24[template lockable_concept_link[link_text] [link thread.synchronization.mutex_concepts.lockable [link_text]]]
25[def __lockable_concept__ [lockable_concept_link `Lockable` concept]]
26[def __lockable_concept_type__ [lockable_concept_link `Lockable`]]
27[def __BasicLockable [link thread.synchronization.mutex_concepts.basic_lockable `BasicLockable`]]
28[def __Lockable [link thread.synchronization.mutex_concepts.lockable `Lockable`]]
29[def __TimedLockable [link thread.synchronization.mutex_concepts.timed_lockable `TimedLockable`]]
30[def __SharedLockable [link thread.synchronization.mutex_concepts.shared_lockable `SharedLockable`]]
31[def __UpgradeLockable [link thread.synchronization.mutex_concepts.upgrade_lockable `UpgradeLockable`]]
32
33[template timed_lockable_concept_link[link_text] [link thread.synchronization.mutex_concepts.timed_lockable [link_text]]]
34[def __timed_lockable_concept__ [timed_lockable_concept_link `TimedLockable` concept]]
35[def __timed_lockable_concept_type__ [timed_lockable_concept_link `TimedLockable`]]
36
37[template shared_lockable_concept_link[link_text] [link thread.synchronization.mutex_concepts.shared_lockable [link_text]]]
38[def __shared_lockable_concept__ [shared_lockable_concept_link `SharedLockable` concept]]
39[def __shared_lockable_concept_type__ [shared_lockable_concept_link `SharedLockable`]]
40
41[template upgrade_lockable_concept_link[link_text] [link thread.synchronization.mutex_concepts.upgrade_lockable [link_text]]]
42[def __upgrade_lockable_concept__ [upgrade_lockable_concept_link `UpgradeLockable` concept]]
43[def __upgrade_lockable_concept_type__ [upgrade_lockable_concept_link `UpgradeLockable`]]
44
45
46[template lock_ref_link[link_text] [link thread.synchronization.mutex_concepts.basic_lockable.lock [link_text]]]
47[def __lock_ref__ [lock_ref_link `lock()`]]
48[def __lock [link thread.synchronization.mutex_concepts.basic_lockable.lock `lock`]]
49
50[template lock_multiple_ref_link[link_text] [link thread.synchronization.lock_functions.lock_multiple [link_text]]]
51[def __lock_multiple_ref__ [lock_multiple_ref_link `lock()`]]
52
53[template try_lock_multiple_ref_link[link_text] [link thread.synchronization.lock_functions.try_lock_multiple [link_text]]]
54[def __try_lock_multiple_ref__ [try_lock_multiple_ref_link `try_lock()`]]
55
56[template unlock_ref_link[link_text] [link thread.synchronization.mutex_concepts.basic_lockable.unlock [link_text]]]
57[def __unlock_ref__ [unlock_ref_link `unlock()`]]
58[def __unlock [link thread.synchronization.mutex_concepts.basic_lockable.unlock `unlock`]]
59
60[template try_lock_ref_link[link_text] [link thread.synchronization.mutex_concepts.lockable.try_lock [link_text]]]
61[def __try_lock_ref__ [try_lock_ref_link `try_lock()`]]
62[def __try_lock [link thread.synchronization.mutex_concepts.lockable.try_lock `try_lock`]]
63
64[template timed_lock_ref_link[link_text] [link thread.synchronization.mutex_concepts.timed_lockable.timed_lock [link_text]]]
65[def __timed_lock_ref__ [timed_lock_ref_link `timed_lock()`]]
66[def __timed_lock [link thread.synchronization.mutex_concepts.timed_lockable.timed_lock `timed_lock`]]
67
68[def __try_lock_for [link thread.synchronization.mutex_concepts.timed_lockable.try_lock_for `try_lock_for`]]
69[def __try_lock_until [link thread.synchronization.mutex_concepts.timed_lockable.try_lock_until `try_lock_until`]]
70
71[template timed_lock_duration_ref_link[link_text] [link thread.synchronization.mutex_concepts.timed_lockable.timed_lock_duration [link_text]]]
72[def __timed_lock_duration_ref__ [timed_lock_duration_ref_link `timed_lock()`]]
73[def __timed_lock_duration [link thread.synchronization.mutex_concepts.timed_lockable.timed_lock_duration `timed_lock`]]
74
75[template lock_shared_ref_link[link_text] [link thread.synchronization.mutex_concepts.shared_lockable.lock_shared [link_text]]]
76[def __lock_shared_ref__ [lock_shared_ref_link `lock_shared()`]]
77[def __lock_shared [link thread.synchronization.mutex_concepts.shared_lockable.lock_shared `lock_shared()`]]
78
79[template unlock_shared_ref_link[link_text] [link thread.synchronization.mutex_concepts.shared_lockable.unlock_shared [link_text]]]
80[def __unlock_shared_ref__ [unlock_shared_ref_link `unlock_shared()`]]
81[def __unlock_shared [link thread.synchronization.mutex_concepts.shared_lockable.unlock_shared `unlock_shared()`]]
82
83[template try_lock_shared_ref_link[link_text] [link thread.synchronization.mutex_concepts.shared_lockable.try_lock_shared [link_text]]]
84[def __try_lock_shared_ref__ [try_lock_shared_ref_link `try_lock_shared()`]]
85[def __try_lock_shared [link thread.synchronization.mutex_concepts.shared_lockable.try_lock_shared `try_lock_shared`]]
86
87[template timed_lock_shared_ref_link[link_text] [link thread.synchronization.mutex_concepts.shared_lockable.timed_lock_shared [link_text]]]
88[def __timed_lock_shared_ref__ [timed_lock_shared_ref_link `timed_lock_shared()`]]
89[def __try_lock_shared_for [link thread.synchronization.mutex_concepts.shared_lockable.try_lock_shared_for `try_lock_shared_for`]]
90[def __try_lock_shared_for [link thread.synchronization.mutex_concepts.shared_lockable.try_lock_shared_until `try_lock_shared_until`]]
91
92[template timed_lock_shared_duration_ref_link[link_text] [link thread.synchronization.mutex_concepts.shared_lockable.timed_lock_shared_duration [link_text]]]
93[def __timed_lock_shared_duration_ref__ [timed_lock_shared_duration_ref_link `timed_lock_shared()`]]
94[def __try_lock_shared_for [link thread.synchronization.mutex_concepts.shared_lockable.try_lock_shared_for `try_lock_shared_for`]]
95[def __try_lock_shared_until [link thread.synchronization.mutex_concepts.shared_lockable.try_lock_shared_until `try_lock_shared_until`]]
96
97[template lock_upgrade_ref_link[link_text] [link thread.synchronization.mutex_concepts.upgrade_lockable.lock_upgrade [link_text]]]
98[def __lock_upgrade_ref__ [lock_upgrade_ref_link `lock_upgrade()`]]
99[def __lock_upgrade [link thread.synchronization.mutex_concepts.upgrade_lockable.lock_upgrade `lock_upgrade`]]
100[def __try_lock_upgrade [link thread.synchronization.mutex_concepts.upgrade_lockable.try_lock_upgrade `try_lock_upgrade`]]
101[def __try_lock_upgrade_for [link thread.synchronization.mutex_concepts.upgrade_lockable.try_lock_upgrade_for `try_lock_upgrade_for`]]
102[def __try_lock_upgrade_until [link thread.synchronization.mutex_concepts.upgrade_lockable.try_lock_upgrade_until `try_lock_upgrade_until`]]
103
104[template unlock_upgrade_ref_link[link_text] [link thread.synchronization.mutex_concepts.upgrade_lockable.unlock_upgrade [link_text]]]
105[def __unlock_upgrade_ref__ [unlock_upgrade_ref_link `unlock_upgrade()`]]
106[def __unlock_upgrade [link thread.synchronization.mutex_concepts.upgrade_lockable.unlock_upgrade `unlock_upgrade`]]
107
108[template unlock_upgrade_and_lock_ref_link[link_text] [link thread.synchronization.mutex_concepts.upgrade_lockable.unlock_upgrade_and_lock [link_text]]]
109[def __unlock_upgrade_and_lock_ref__ [unlock_upgrade_and_lock_ref_link `unlock_upgrade_and_lock()`]]
110[def __unlock_upgrade_and_lock [link thread.synchronization.mutex_concepts.upgrade_lockable.unlock_upgrade_and_lock `unlock_upgrade_and_lock`]]
111
112[template unlock_and_lock_upgrade_ref_link[link_text] [link thread.synchronization.mutex_concepts.upgrade_lockable.unlock_and_lock_upgrade [link_text]]]
113[def __unlock_and_lock_upgrade_ref__ [unlock_and_lock_upgrade_ref_link `unlock_and_lock_upgrade()`]]
114[def __unlock_and_lock_upgrade [link thread.synchronization.mutex_concepts.upgrade_lockable.unlock_and_lock_upgrade `unlock_and_lock_upgrade`]]
115
116[template unlock_upgrade_and_lock_shared_ref_link[link_text] [link thread.synchronization.mutex_concepts.upgrade_lockable.unlock_upgrade_and_lock_shared [link_text]]]
117[def __unlock_upgrade_and_lock_shared_ref__ [unlock_upgrade_and_lock_shared_ref_link `unlock_upgrade_and_lock_shared()`]]
118[def __unlock_upgrade_and_lock_shared [link thread.synchronization.mutex_concepts.upgrade_lockable.unlock_upgrade_and_lock_shared `unlock_upgrade_and_lock_shared`]]
119
120
121[def __try_unlock_shared_and_lock [link thread.synchronization.mutex_concepts.upgrade_lockable.try_unlock_shared_and_lock `try_unlock_shared_and_lock`]]
122[def __try_unlock_shared_and_lock_for [link thread.synchronization.mutex_concepts.upgrade_lockable.try_unlock_shared_and_lock_for `try_unlock_shared_and_lock_for`]]
123[def __try_unlock_shared_and_lock_until [link thread.synchronization.mutex_concepts.upgrade_lockable.try_unlock_shared_and_lock_until `try_unlock_shared_and_lock_until`]]
124
125[def __unlock_and_lock_shared [link thread.synchronization.mutex_concepts.upgrade_lockable.unlock_and_lock_shared `unlock_and_lock_shared`]]
126
127[def __try_unlock_shared_and_lock_upgrade [link thread.synchronization.mutex_concepts.upgrade_lockable.try_unlock_shared_and_lock_upgrade `try_unlock_shared_and_lock_upgrade`]]
128[def __try_unlock_shared_and_lock_upgrade_for [link thread.synchronization.mutex_concepts.upgrade_lockable.try_unlock_shared_and_lock_upgrade_for `try_unlock_shared_and_lock_upgrade_for`]]
129[def __try_unlock_shared_and_lock_upgrade_until [link thread.synchronization.mutex_concepts.upgrade_lockable.try_unlock_shared_and_lock_upgrade_until `try_unlock_shared_and_lock_upgrade_until`]]
130
131[def __try_unlock_upgrade_and_lock [link thread.synchronization.mutex_concepts.upgrade_lockable.try_unlock_upgrade_and_lock `try_unlock_upgrade_and_lock`]]
132[def __try_unlock_upgrade_and_lock_for [link thread.synchronization.mutex_concepts.upgrade_lockable.try_unlock_upgrade_and_lock_for `try_unlock_upgrade_and_lock_for`]]
133[def __try_unlock_upgrade_and_lock_until [link thread.synchronization.mutex_concepts.upgrade_lockable.try_unlock_upgrade_and_lock_until `try_unlock_upgrade_and_lock_until`]]
134
135
136[template owns_lock_ref_link[link_text] [link thread.synchronization.locks.unique_lock.owns_lock [link_text]]]
137[def __owns_lock_ref__ [owns_lock_ref_link `owns_lock()`]]
138[def __owns_lock [owns_lock_ref_link `owns_lock()`]]
139
140[template owns_lock_shared_ref_link[link_text] [link thread.synchronization.locks.shared_lock.owns_lock [link_text]]]
141[def __owns_lock_shared_ref__ [owns_lock_shared_ref_link `owns_lock()`]]
142
143[template mutex_func_ref_link[link_text] [link thread.synchronization.locks.unique_lock.mutex [link_text]]]
144[def __mutex_func_ref__ [mutex_func_ref_link `mutex()`]]
145
146[def __boost_thread__ [*Boost.Thread]]
147[def __not_a_thread__ ['Not-a-Thread]]
148[def __interruption_points__ [link interruption_points ['interruption points]]]
149[def __lock_error__ `lock_error`]
150
151[def __mutex__ [link thread.synchronization.mutex_types.mutex `boost::mutex`]]
152[def __try_mutex__ [link thread.synchronization.mutex_types.try_mutex `boost::try_mutex`]]
153[def __timed_mutex__ [link thread.synchronization.mutex_types.timed_mutex `boost::timed_mutex`]]
154[def __recursive_mutex__ [link thread.synchronization.mutex_types.recursive_mutex `boost::recursive_mutex`]]
155[def __recursive_try_mutex__ [link thread.synchronization.mutex_types.recursive_try_mutex `boost::recursive_try_mutex`]]
156[def __recursive_timed_mutex__ [link thread.synchronization.mutex_types.recursive_timed_mutex `boost::recursive_timed_mutex`]]
157[def __shared_mutex__ [link thread.synchronization.mutex_types.shared_mutex `boost::shared_mutex`]]
158
159
160[def __StrictLock [link thread.synchronization.lock_concepts.StrictLock `StrictLock`]]
161
162[template unique_lock_link[link_text] [link thread.synchronization.locks.unique_lock [link_text]]]
163
164[def __lock_guard__ [link thread.synchronization.lock_guard.lock_guard `boost::lock_guard`]]
165[def __unique_lock__ [unique_lock_link `boost::unique_lock`]]
166[def __unique_lock [unique_lock_link `boost::unique_lock`]]
167[def __shared_lock__ [link thread.synchronization.locks.shared_lock `boost::shared_lock`]]
168[def __upgrade_lock__ [link thread.synchronization.locks.upgrade_lock `boost::upgrade_lock`]]
169[def __upgrade_to_unique_lock__ [link thread.synchronization.locks.upgrade_to_unique_lock `boost::upgrade_to_unique_lock`]]
170[def __reverse_lock [link thread.synchronization.other_locks.reverse_lock `reverse_lock`]]
171[def __shared_lock_guard [link thread.synchronization.other_locks.shared_lock_guard `shared_lock_guard`]]
172[def __shared_lock_guard_constructor_adopt [link thread.synchronization.other_locks.shared_lock_guard `shared_lock_guard`]]
173
174[def __strict_lock [link thread.synchronization.other_locks.strict_locks.strict_lock `strict_lock`]]
175[def __nested_strict_lock [link thread.synchronization.other_locks.strict_locks.nested_strict_lock `nested_strict_lock`]]
176
177
178[def __thread__ [link thread.thread_management.thread `boost::thread`]]
179[def __thread [link thread.thread_management.thread `thread`]]
180[def __thread_id__ [link thread.thread_management.thread.id `boost::thread::id`]]
181[template join_link[link_text] [link thread.thread_management.thread.join [link_text]]]
182[def __join__ [join_link `join()`]]
183
184[def __try_join_for [link thread.thread_management.thread.try_join_for `try_join_for`]]
185[def __try_join_until [link thread.thread_management.thread.try_join_until `try_join_until`]]
186
187[template timed_join_link[link_text] [link thread.thread_management.thread.timed_join [link_text]]]
188[def __timed_join__ [timed_join_link `timed_join()`]]
189[def __detach__ [link thread.thread_management.thread.detach `detach()`]]
190[def __interrupt__ [link thread.thread_management.thread.interrupt `interrupt()`]]
191[def __sleep__ [link thread.thread_management.this_thread.sleep `boost::this_thread::sleep()`]]
192[def __sleep_for [link thread.thread_management.this_thread.sleep_for `sleep_for`]]
193[def __sleep_until [link thread.thread_management.this_thread.sleep_until `sleep_until`]]
194[def __yield [link thread.thread_management.this_thread.yield `yield`]]
195[def __get_id [link thread.thread_management.thread.get_id `get_id`]]
196
197[def __interruption_enabled__ [link thread.thread_management.this_thread.interruption_enabled `boost::this_thread::interruption_enabled()`]]
198[def __interruption_requested__ [link thread.thread_management.this_thread.interruption_requested `boost::this_thread::interruption_requested()`]]
199[def __interruption_point__ [link thread.thread_management.this_thread.interruption_point `boost::this_thread::interruption_point()`]]
200[def __disable_interruption__ [link thread.thread_management.this_thread.disable_interruption `boost::this_thread::disable_interruption`]]
201[def __restore_interruption__ [link thread.thread_management.this_thread.restore_interruption `boost::this_thread::restore_interruption`]]
202
203[def __thread_resource_error__ `boost::thread_resource_error`]
204[def __thread_interrupted__ `boost::thread_interrupted`]
205[def __barrier__ [link thread.synchronization.barriers.barrier `boost::barrier`]]
206[def __latch__ [link thread.synchronization.latches.latch `latch`]]
207
208[template cond_wait_link[link_text] [link thread.synchronization.condvar_ref.condition_variable.wait [link_text]]]
209[def __cond_wait__ [cond_wait_link `wait()`]]
210[template cond_timed_wait_link[link_text] [link thread.synchronization.condvar_ref.condition_variable.timed_wait [link_text]]]
211[def __cond_timed_wait__ [cond_timed_wait_link `timed_wait()`]]
212
213[def __condition_variable [link thread.synchronization.condvar_ref.condition_variable `condition_variable`]]
214[def __wait_for [link thread.synchronization.condvar_ref.condition_variable.wait_for `wait_for`]]
215[def __wait_until [link thread.synchronization.condvar_ref.condition_variable.wait_until `wait_until`]]
216
217
218[template cond_any_wait_link[link_text] [link thread.synchronization.condvar_ref.condition_variable_any.wait [link_text]]]
219[def __cond_any_wait__ [cond_any_wait_link `wait()`]]
220[template cond_any_timed_wait_link[link_text] [link thread.synchronization.condvar_ref.condition_variable_any.timed_wait [link_text]]]
221[def __cond_any_timed_wait__ [cond_any_timed_wait_link `timed_wait()`]]
222
223[def __condition_variable_any [link thread.synchronization.condvar_ref.condition_variable_any `condition_variable_any`]]
224[def __cvany_wait_for [link thread.synchronization.condvar_ref.condition_variable_any.wait_for `wait_for`]]
225[def __cvany_wait_until [link thread.synchronization.condvar_ref.condition_variable_any.wait_until `wait_until`]]
226
227[def __blocked__ ['blocked]]
228
229[include overview.qbk]
230[include changes.qbk]
231
232[include thread_ref.qbk]
233[include scoped_thread.qbk]
234
235[section:synchronization Synchronization]
236[include sync_tutorial.qbk]
237[include mutex_concepts.qbk]
238[include mutexes.qbk]
239[include condition_variables.qbk]
240[include once.qbk]
241[include barrier.qbk]
242[include latch.qbk]
243[include async_executors.qbk]
244[include futures.qbk]
245[endsect]
246
247[include tss.qbk]
248
249[section:sds Synchronized Data Structures]
250[include synchronized_value.qbk]
251[include sync_queues_ref.qbk]
252[/include sync_streams.qbk]
253[endsect]
254
255[include parallel.qbk]
256
257[include time.qbk]
258
259[include emulations.qbk]
260
261[include acknowledgements.qbk]
262
263[include compliance.qbk]