1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Chapter 18. Boost.Intrusive</title>
<link rel="stylesheet" href="../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries (BoostBook Subset)">
<link rel="prev" href="boost/interprocess/xsi_shared_memory.html" title="Class xsi_shared_memory">
<link rel="next" href="intrusive/intrusive_vs_nontrusive.html" title="Intrusive and non-intrusive containers">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../boost.png"></td>
<td align="center"><a href="../../index.html">Home</a></td>
<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost/interprocess/xsi_shared_memory.html"><img src="../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="intrusive/intrusive_vs_nontrusive.html"><img src="../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="chapter">
<div class="titlepage"><div>
<div><h2 class="title">
<a name="intrusive"></a>Chapter 18. Boost.Intrusive</h2></div>
<div><div class="author"><h3 class="author">
<span class="firstname">Olaf</span> <span class="surname">Krzikalla</span>
</h3></div></div>
<div><div class="author"><h3 class="author">
<span class="firstname">Ion</span> <span class="surname">Gaztanaga</span>
</h3></div></div>
<div><p class="copyright">Copyright © 2005 Olaf Krzikalla</p></div>
<div><p class="copyright">Copyright © 2006-2015 Ion Gaztanaga</p></div>
<div><div class="legalnotice">
<a name="intrusive.legal"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></div>
</div></div>
<div class="toc">
<p><b>Table of Contents</b></p>
<dl class="toc">
<dt><span class="section"><a href="intrusive.html#intrusive.introduction">Introduction</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive.html#intrusive.introduction.introduction_presenting">Presenting
Boost.Intrusive</a></span></dt>
<dt><span class="section"><a href="intrusive.html#intrusive.introduction.introduction_building_intrusive">Building
Boost.Intrusive</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/intrusive_vs_nontrusive.html">Intrusive and non-intrusive
containers</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/intrusive_vs_nontrusive.html#intrusive.intrusive_vs_nontrusive.differences_intrusive_vs_nontrusive">Differences
between intrusive and non-intrusive containers</a></span></dt>
<dt><span class="section"><a href="intrusive/intrusive_vs_nontrusive.html#intrusive.intrusive_vs_nontrusive.properties_of_intrusive">Properties
of Boost.Intrusive containers</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/usage.html">How to use Boost.Intrusive</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/usage.html#intrusive.usage.usage_base_hook">Using base hooks</a></span></dt>
<dt><span class="section"><a href="intrusive/usage.html#intrusive.usage.usage_member_hook">Using member hooks</a></span></dt>
<dt><span class="section"><a href="intrusive/usage.html#intrusive.usage.usage_both_hooks">Using both hooks</a></span></dt>
<dt><span class="section"><a href="intrusive/usage.html#intrusive.usage.usage_lifetime">Object lifetime</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/usage_when.html">When to use?</a></span></dt>
<dt><span class="section"><a href="intrusive/concepts_summary.html">Concept summary</a></span></dt>
<dt><span class="section"><a href="intrusive/presenting_containers.html">Presenting Boost.Intrusive
containers</a></span></dt>
<dt><span class="section"><a href="intrusive/safe_hook.html">Safe hooks</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/safe_hook.html#intrusive.safe_hook.features">Features of the safe mode</a></span></dt>
<dt><span class="section"><a href="intrusive/safe_hook.html#intrusive.safe_hook.configuring">Configuring safe-mode
assertions</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/auto_unlink_hooks.html">Auto-unlink hooks</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/auto_unlink_hooks.html#intrusive.auto_unlink_hooks.auto_unlink_hooks_what">What's
an auto-unlink hook?</a></span></dt>
<dt><span class="section"><a href="intrusive/auto_unlink_hooks.html#intrusive.auto_unlink_hooks.auto_unlink_hooks_example">Auto-unlink
hook example</a></span></dt>
<dt><span class="section"><a href="intrusive/auto_unlink_hooks.html#intrusive.auto_unlink_hooks.auto_unlink_and_constant_time">Auto-unlink
hooks and containers with constant-time <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code></a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/slist.html">Intrusive singly linked list: slist</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/slist.html#intrusive.slist.slist_hooks">slist hooks</a></span></dt>
<dt><span class="section"><a href="intrusive/slist.html#intrusive.slist.slist_container">slist container</a></span></dt>
<dt><span class="section"><a href="intrusive/slist.html#intrusive.slist.slist_example">Example</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/list.html">Intrusive doubly linked list: list</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/list.html#intrusive.list.list_hooks">list hooks</a></span></dt>
<dt><span class="section"><a href="intrusive/list.html#intrusive.list.list_container">list container</a></span></dt>
<dt><span class="section"><a href="intrusive/list.html#intrusive.list.list_example">Example</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/set_multiset.html">Intrusive associative containers:
set, multiset, rbtree</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/set_multiset.html#intrusive.set_multiset.set_multiset_hooks">set, multiset
and rbtree hooks</a></span></dt>
<dt><span class="section"><a href="intrusive/set_multiset.html#intrusive.set_multiset.set_multiset_containers">set,
multiset and rbtree containers</a></span></dt>
<dt><span class="section"><a href="intrusive/set_multiset.html#intrusive.set_multiset.set_multiset_example">Example</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/unordered_set_unordered_multiset.html">Semi-Intrusive
unordered associative containers: unordered_set, unordered_multiset</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/unordered_set_unordered_multiset.html#intrusive.unordered_set_unordered_multiset.unordered_set_unordered_multiset_performance">unordered_set
and unordered_multiset performance notes</a></span></dt>
<dt><span class="section"><a href="intrusive/unordered_set_unordered_multiset.html#intrusive.unordered_set_unordered_multiset.unordered_set_unordered_multiset_hooks">unordered_set
and unordered_multiset hooks</a></span></dt>
<dt><span class="section"><a href="intrusive/unordered_set_unordered_multiset.html#intrusive.unordered_set_unordered_multiset.unordered_set_unordered_multiset_containers">unordered_set
and unordered_multiset containers</a></span></dt>
<dt><span class="section"><a href="intrusive/unordered_set_unordered_multiset.html#intrusive.unordered_set_unordered_multiset.unordered_set_unordered_multiset_example">Example</a></span></dt>
<dt><span class="section"><a href="intrusive/unordered_set_unordered_multiset.html#intrusive.unordered_set_unordered_multiset.custom_bucket_traits">Custom
bucket traits</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/map_multimap.html">Map and multimap-like interface
for associative containers</a></span></dt>
<dt><span class="section"><a href="intrusive/avl_set_multiset.html">Intrusive avl tree based associative
containers: avl_set, avl_multiset and avltree</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/avl_set_multiset.html#intrusive.avl_set_multiset.avl_set_multiset_hooks">avl_set,
avl_multiset and avltree hooks</a></span></dt>
<dt><span class="section"><a href="intrusive/avl_set_multiset.html#intrusive.avl_set_multiset.set_multiset_containers">avl_set,
avl_multiset and avltree containers</a></span></dt>
<dt><span class="section"><a href="intrusive/avl_set_multiset.html#intrusive.avl_set_multiset.avl_set_multiset_example">Example</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/splay_set_multiset.html">Intrusive splay tree based
associative containers: splay_set, splay_multiset and , splay_tree</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/splay_set_multiset.html#intrusive.splay_set_multiset.splay_set_multiset_disadvantages">Advantages
and disadvantages of splay tree based containers</a></span></dt>
<dt><span class="section"><a href="intrusive/splay_set_multiset.html#intrusive.splay_set_multiset.set_multiset_containers">splay_set,
splay_multiset and splaytree containers</a></span></dt>
<dt><span class="section"><a href="intrusive/splay_set_multiset.html#intrusive.splay_set_multiset.splay_set_multiset_example">Example</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/sg_set_multiset.html">Intrusive scapegoat tree based
associative containers: sg_set, sg_multiset and sgtree</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/sg_set_multiset.html#intrusive.sg_set_multiset.sg_set_multiset_containers">sg_set,
sg_multiset and sgtree containers</a></span></dt>
<dt><span class="section"><a href="intrusive/sg_set_multiset.html#intrusive.sg_set_multiset.sg_set_multiset_example">Example</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/treap_set_multiset.html">Intrusive treap based associative
containers: treap_set, treap_multiset and treap</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/treap_set_multiset.html#intrusive.treap_set_multiset.treap_set_multiset_containers">treap_set,
treap_multiset and treap containers</a></span></dt>
<dt><span class="section"><a href="intrusive/treap_set_multiset.html#intrusive.treap_set_multiset.treap_set_exceptions">Exception
safety of treap-based intrusive containers</a></span></dt>
<dt><span class="section"><a href="intrusive/treap_set_multiset.html#intrusive.treap_set_multiset.treap_set_multiset_example">Example</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/bst_hooks.html">Binary search tree hooks: bs_set_base_hook
and bs_set_member_hook</a></span></dt>
<dt><span class="section"><a href="intrusive/advanced_lookups_insertions.html">Advanced lookup
and insertion functions for associative containers</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/advanced_lookups_insertions.html#intrusive.advanced_lookups_insertions.advanced_lookups">Advanced
lookups</a></span></dt>
<dt><span class="section"><a href="intrusive/advanced_lookups_insertions.html#intrusive.advanced_lookups_insertions.advanced_insertions">Advanced
insertions</a></span></dt>
<dt><span class="section"><a href="intrusive/advanced_lookups_insertions.html#intrusive.advanced_lookups_insertions.positional_insertions">Positional
insertions</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/erasing_and_disposing.html">Erasing and disposing
values from Boost.Intrusive containers</a></span></dt>
<dt><span class="section"><a href="intrusive/clone_from.html">Cloning Boost.Intrusive containers</a></span></dt>
<dt><span class="section"><a href="intrusive/function_hooks.html">Using function hooks</a></span></dt>
<dt><span class="section"><a href="intrusive/recursive.html">Recursive Boost.Intrusive containers</a></span></dt>
<dt><span class="section"><a href="intrusive/using_smart_pointers.html">Using smart pointers with
Boost.Intrusive containers</a></span></dt>
<dd><dl><dt><span class="section"><a href="intrusive/using_smart_pointers.html#intrusive.using_smart_pointers.smart_pointers_requirements">Requirements
for smart pointers compatible with Boost.Intrusive</a></span></dt></dl></dd>
<dt><span class="section"><a href="intrusive/obtaining_iterators_from_values.html">Obtaining iterators
from values</a></span></dt>
<dt><span class="section"><a href="intrusive/any_hooks.html">Any Hooks: A single hook for any Intrusive
container</a></span></dt>
<dt><span class="section"><a href="intrusive/concepts.html">Concepts explained</a></span></dt>
<dt><span class="section"><a href="intrusive/node_algorithms.html">Node algorithms with custom
NodeTraits</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/node_algorithms.html#intrusive.node_algorithms.circular_slist_algorithms">Intrusive
singly linked list algorithms</a></span></dt>
<dt><span class="section"><a href="intrusive/node_algorithms.html#intrusive.node_algorithms.circular_list_algorithms">Intrusive
doubly linked list algorithms</a></span></dt>
<dt><span class="section"><a href="intrusive/node_algorithms.html#intrusive.node_algorithms.rbtree_algorithms">Intrusive
red-black tree algorithms</a></span></dt>
<dt><span class="section"><a href="intrusive/node_algorithms.html#intrusive.node_algorithms.splaytree_algorithms">Intrusive
splay tree algorithms</a></span></dt>
<dt><span class="section"><a href="intrusive/node_algorithms.html#intrusive.node_algorithms.avltree_algorithms">Intrusive
avl tree algorithms</a></span></dt>
<dt><span class="section"><a href="intrusive/node_algorithms.html#intrusive.node_algorithms.treap_algorithms">Intrusive
treap algorithms</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/value_traits.html">Containers with custom ValueTraits</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/value_traits.html#intrusive.value_traits.value_traits_interface">ValueTraits
interface</a></span></dt>
<dt><span class="section"><a href="intrusive/value_traits.html#intrusive.value_traits.value_traits_example">Custom ValueTraits
example</a></span></dt>
<dt><span class="section"><a href="intrusive/value_traits.html#intrusive.value_traits.reusing_node_algorithms">Reusing
node algorithms for different values</a></span></dt>
<dt><span class="section"><a href="intrusive/value_traits.html#intrusive.value_traits.simplifying_value_traits">Simplifying
value traits definition</a></span></dt>
<dt><span class="section"><a href="intrusive/value_traits.html#intrusive.value_traits.stateful_value_traits">Stateful
value traits</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/thread_safety.html">Thread safety guarantees</a></span></dt>
<dt><span class="section"><a href="intrusive/boost_intrusive_iterators.html">Boost.Intrusive Iterator
features</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/boost_intrusive_iterators.html#intrusive.boost_intrusive_iterators.null_forward_iterators">Null
forward iterators</a></span></dt>
<dt><span class="section"><a href="intrusive/boost_intrusive_iterators.html#intrusive.boost_intrusive_iterators.scary_iterators">Scary
Iterators</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/equal_range_stability.html">Stability and insertion
with hint in ordered associative containers with equivalent keys</a></span></dt>
<dt><span class="section"><a href="intrusive/obtaining_same_type_reducing_space.html">Obtaining
the same types and reducing symbol length</a></span></dt>
<dt><span class="section"><a href="intrusive/design_notes.html">Design Notes</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/design_notes.html#intrusive.design_notes.performance_sensitive">Boost.Intrusive
in performance sensitive environments</a></span></dt>
<dt><span class="section"><a href="intrusive/design_notes.html#intrusive.design_notes.space_constrained">Boost.Intrusive
in space constrained environments</a></span></dt>
<dt><span class="section"><a href="intrusive/design_notes.html#intrusive.design_notes.basic_building_block">Boost.Intrusive
as a basic building block</a></span></dt>
<dt><span class="section"><a href="intrusive/design_notes.html#intrusive.design_notes.extending_intrusive">Extending
Boost.Intrusive</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/performance.html">Performance</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/performance.html#intrusive.performance.performance_results_push_back">Back
insertion and destruction</a></span></dt>
<dt><span class="section"><a href="intrusive/performance.html#intrusive.performance.performance_results_reversing">Reversing</a></span></dt>
<dt><span class="section"><a href="intrusive/performance.html#intrusive.performance.performance_results_sorting">Sorting</a></span></dt>
<dt><span class="section"><a href="intrusive/performance.html#intrusive.performance.performance_results_write_access">Write
access</a></span></dt>
<dt><span class="section"><a href="intrusive/performance.html#intrusive.performance.performance_results_conclusions">Conclusions</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/release_notes.html">Release Notes</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_65_00">Boost
1.65 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_64_00">Boost
1.64 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_63_00">Boost
1.63 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_62_00">Boost
1.62 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_61_00">Boost
1.61 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_60_00">Boost
1.60 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_59_00">Boost
1.59 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_58_00">Boost
1.58 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_57_00">Boost
1.57 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_56_00">Boost
1.56 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_55_00">Boost
1.55 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_54_00">Boost
1.54 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_53_00">Boost
1.53 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_51_00">Boost
1.51 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_49_00">Boost
1.49 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_48_00">Boost
1.48 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_46_00">Boost
1.46 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_45_00">Boost
1.45 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_40_00">Boost
1.40 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_39_00">Boost
1.39 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_38_00">Boost
1.38 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_37_00">Boost
1.37 Release</a></span></dt>
<dt><span class="section"><a href="intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_36_00">Boost
1.36 Release</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="intrusive/tested_compilers.html">Tested compilers</a></span></dt>
<dt><span class="section"><a href="intrusive/references.html">References</a></span></dt>
<dt><span class="section"><a href="intrusive/acknowledgements.html">Acknowledgements</a></span></dt>
<dt><span class="section"><a href="intrusive/index.html">Indexes</a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html">Reference</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.any_hook_hpp">Header <boost/intrusive/any_hook.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.avl_set_hpp">Header <boost/intrusive/avl_set.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.avl_set_hook_hpp">Header <boost/intrusive/avl_set_hook.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.avltree_hpp">Header <boost/intrusive/avltree.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.avltree_algorithms_hpp">Header <boost/intrusive/avltree_algorithms.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.bs_set_hpp">Header <boost/intrusive/bs_set.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.bs_set_hook_hpp">Header <boost/intrusive/bs_set_hook.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.bstree_hpp">Header <boost/intrusive/bstree.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.bstree_algorithms_hpp">Header <boost/intrusive/bstree_algorithms.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.circular_list_algorithms_hpp">Header <boost/intrusive/circular_list_algorithms.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.circular_slist_algorithms_hpp">Header <boost/intrusive/circular_slist_algorithms.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.derivation_value_traits_hpp">Header <boost/intrusive/derivation_value_traits.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.hashtable_hpp">Header <boost/intrusive/hashtable.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.intrusive_fwd_hpp">Header <boost/intrusive/intrusive_fwd.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.linear_slist_algorithms_hpp">Header <boost/intrusive/linear_slist_algorithms.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.link_mode_hpp">Header <boost/intrusive/link_mode.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.list_hpp">Header <boost/intrusive/list.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.list_hook_hpp">Header <boost/intrusive/list_hook.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.member_value_traits_hpp">Header <boost/intrusive/member_value_traits.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.options_hpp">Header <boost/intrusive/options.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.pack_options_hpp">Header <boost/intrusive/pack_options.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.parent_from_member_hpp">Header <boost/intrusive/parent_from_member.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.pointer_plus_bits_hpp">Header <boost/intrusive/pointer_plus_bits.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.pointer_rebind_hpp">Header <boost/intrusive/pointer_rebind.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.pointer_traits_hpp">Header <boost/intrusive/pointer_traits.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.priority_compare_hpp">Header <boost/intrusive/priority_compare.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.rbtree_hpp">Header <boost/intrusive/rbtree.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.rbtree_algorithms_hpp">Header <boost/intrusive/rbtree_algorithms.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.set_hpp">Header <boost/intrusive/set.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.set_hook_hpp">Header <boost/intrusive/set_hook.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.sg_set_hpp">Header <boost/intrusive/sg_set.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.sgtree_hpp">Header <boost/intrusive/sgtree.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.sgtree_algorithms_hpp">Header <boost/intrusive/sgtree_algorithms.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.slist_hpp">Header <boost/intrusive/slist.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.slist_hook_hpp">Header <boost/intrusive/slist_hook.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.splay_set_hpp">Header <boost/intrusive/splay_set.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.splaytree_hpp">Header <boost/intrusive/splaytree.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.splaytree_algorithms_hpp">Header <boost/intrusive/splaytree_algorithms.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.treap_hpp">Header <boost/intrusive/treap.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.treap_algorithms_hpp">Header <boost/intrusive/treap_algorithms.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.treap_set_hpp">Header <boost/intrusive/treap_set.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.trivial_value_traits_hpp">Header <boost/intrusive/trivial_value_traits.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.unordered_set_hpp">Header <boost/intrusive/unordered_set.hpp></a></span></dt>
<dt><span class="section"><a href="intrusive/reference.html#header.boost.intrusive.unordered_set_hook_hpp">Header <boost/intrusive/unordered_set_hook.hpp></a></span></dt>
</dl></dd>
</dl>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="intrusive.introduction"></a><a class="link" href="intrusive.html#intrusive.introduction" title="Introduction">Introduction</a>
</h2></div></div></div>
<div class="toc"><dl class="toc">
<dt><span class="section"><a href="intrusive.html#intrusive.introduction.introduction_presenting">Presenting
Boost.Intrusive</a></span></dt>
<dt><span class="section"><a href="intrusive.html#intrusive.introduction.introduction_building_intrusive">Building
Boost.Intrusive</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="intrusive.introduction.introduction_presenting"></a><a class="link" href="intrusive.html#intrusive.introduction.introduction_presenting" title="Presenting Boost.Intrusive">Presenting
Boost.Intrusive</a>
</h3></div></div></div>
<p>
<span class="bold"><strong>Boost.Intrusive</strong></span> is a library presenting
some intrusive containers to the world of C++. Intrusive containers are special
containers that offer <a class="link" href="intrusive/performance.html" title="Performance">better performance</a>
and exception safety guarantees than non-intrusive containers (like STL containers).
</p>
<p>
The performance benefits of intrusive containers makes them ideal as a building
block to efficiently construct complex containers like multi-index containers
or to design high performance code like memory allocation algorithms.
</p>
<p>
While intrusive containers were and are widely used in C, they became more
and more forgotten in C++ due to the presence of the standard containers
which don't support intrusive techniques.<span class="bold"><strong>Boost.Intrusive</strong></span>
wants to push intrusive containers usage encapsulating the implementation
in STL-like interfaces. Hence anyone familiar with standard containers can
easily use <span class="bold"><strong>Boost.Intrusive</strong></span>.
</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="intrusive.introduction.introduction_building_intrusive"></a><a class="link" href="intrusive.html#intrusive.introduction.introduction_building_intrusive" title="Building Boost.Intrusive">Building
Boost.Intrusive</a>
</h3></div></div></div>
<p>
There is no need to compile anything to use <span class="bold"><strong>Boost.Intrusive</strong></span>,
since it's a header only library. Just include your Boost header directory
in your compiler include path.
</p>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: September 02, 2017 at 10:04:21 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost/interprocess/xsi_shared_memory.html"><img src="../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="intrusive/intrusive_vs_nontrusive.html"><img src="../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
|