1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5 <title>Chapter 9. Boost.Container</title>
6 <link rel="stylesheet" href="../../doc/src/boostbook.css" type="text/css">
7 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
8 <link rel="home" href="index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
9 <link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries (BoostBook Subset)">
10 <link rel="prev" href="circular_buffer/s14.html" title="Index">
11 <link rel="next" href="container/main_features.html" title="Main features">
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table cellpadding="2" width="100%"><tr>
15 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../boost.png"></td>
16 <td align="center"><a href="../../index.html">Home</a></td>
17 <td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
18 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
19 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
20 <td align="center"><a href="../../more/index.htm">More</a></td>
23 <div class="spirit-nav">
24 <a accesskey="p" href="circular_buffer/s14.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="container/main_features.html"><img src="../../doc/src/images/next.png" alt="Next"></a>
27 <div class="titlepage"><div>
28 <div><h2 class="title">
29 <a name="container"></a>Chapter 9. Boost.Container</h2></div>
30 <div><div class="author"><h3 class="author">
31 <span class="firstname">Ion</span> <span class="surname">Gaztanaga</span>
33 <div><p class="copyright">Copyright © 2009-2018 Ion Gaztanaga</p></div>
34 <div><div class="legalnotice">
35 <a name="container.legal"></a><p>
36 Distributed under the Boost Software License, Version 1.0. (See accompanying
37 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>)
42 <p><b>Table of Contents</b></p>
44 <dt><span class="section"><a href="container.html#container.intro">Introduction</a></span></dt>
46 <dt><span class="section"><a href="container.html#container.intro.introduction_building_container">Building
47 Boost.Container</a></span></dt>
48 <dt><span class="section"><a href="container.html#container.intro.tested_compilers">Tested compilers</a></span></dt>
50 <dt><span class="section"><a href="container/main_features.html">Main features</a></span></dt>
52 <dt><span class="section"><a href="container/main_features.html#container.main_features.move_emplace">Efficient insertion</a></span></dt>
53 <dt><span class="section"><a href="container/main_features.html#container.main_features.containers_of_incomplete_types">Containers
54 of Incomplete Types</a></span></dt>
55 <dt><span class="section"><a href="container/main_features.html#container.main_features.scary_iterators">SCARY iterators</a></span></dt>
56 <dt><span class="section"><a href="container/main_features.html#container.main_features.other_features">Other features</a></span></dt>
58 <dt><span class="section"><a href="container/exception_handling.html">Boost.Container and C++ exceptions</a></span></dt>
59 <dt><span class="section"><a href="container/non_standard_containers.html">Non-standard containers</a></span></dt>
61 <dt><span class="section"><a href="container/non_standard_containers.html#container.non_standard_containers.stable_vector"><span class="emphasis"><em>stable_vector</em></span></a></span></dt>
62 <dt><span class="section"><a href="container/non_standard_containers.html#container.non_standard_containers.flat_xxx"><span class="emphasis"><em>flat_(multi)map/set</em></span>
63 associative containers</a></span></dt>
64 <dt><span class="section"><a href="container/non_standard_containers.html#container.non_standard_containers.slist"><span class="emphasis"><em>slist</em></span></a></span></dt>
65 <dt><span class="section"><a href="container/non_standard_containers.html#container.non_standard_containers.static_vector"><span class="emphasis"><em>static_vector</em></span></a></span></dt>
66 <dt><span class="section"><a href="container/non_standard_containers.html#container.non_standard_containers.small_vector"><span class="emphasis"><em>small_vector</em></span></a></span></dt>
68 <dt><span class="section"><a href="container/extended_functionality.html">Extended functionality:
69 Basic extensions</a></span></dt>
71 <dt><span class="section"><a href="container/extended_functionality.html#container.extended_functionality.default_initialialization">Default
72 initialization for vector-like containers</a></span></dt>
73 <dt><span class="section"><a href="container/extended_functionality.html#container.extended_functionality.ordered_range_insertion">Ordered
74 range insertion for associative containers (<span class="emphasis"><em>ordered_unique_range</em></span>,
75 <span class="emphasis"><em>ordered_range</em></span>) </a></span></dt>
76 <dt><span class="section"><a href="container/extended_functionality.html#container.extended_functionality.constant_time_range_splice">Constant-time
77 range splice for <code class="computeroutput"><span class="special">(</span><span class="identifier">s</span><span class="special">)</span><span class="identifier">list</span></code></a></span></dt>
79 <dt><span class="section"><a href="container/configurable_containers.html">Extended functionality:
80 Configurable containers</a></span></dt>
82 <dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_tree_based_associative_containers">Configurable
83 tree-based associative ordered containers</a></span></dt>
84 <dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_vectors">Configurable
85 vectors</a></span></dt>
86 <dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_deques">Configurable
87 deques</a></span></dt>
88 <dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_static_vectors">Configurable
89 static vector</a></span></dt>
90 <dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_small_vectors">Configurable
91 small vector</a></span></dt>
93 <dt><span class="section"><a href="container/extended_allocators.html">Extended functionality:
94 Extended allocators</a></span></dt>
95 <dt><span class="section"><a href="container/cpp_conformance.html">C++11/C++14/C++17 Conformance</a></span></dt>
97 <dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.move_emplace">Move and Emplace</a></span></dt>
98 <dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.alloc_traits_move_traits">Stateful
99 allocators</a></span></dt>
100 <dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.scoped_allocator">Scoped allocators</a></span></dt>
101 <dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.insertion_hints">Insertion
102 hints in associative containers and preserving insertion ordering for elements
103 with equivalent keys</a></span></dt>
104 <dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.initializer_lists">Initializer
105 lists</a></span></dt>
106 <dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.null_iterators">Null Forward
107 Iterators</a></span></dt>
108 <dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.polymorphic_memory_resources">Polymorphic
109 Memory Resources </a></span></dt>
110 <dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.forward_list"><code class="computeroutput"><span class="identifier">forward_list</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code></a></span></dt>
111 <dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.vector_exception_guarantees"><code class="computeroutput"><span class="identifier">vector</span></code> vs. <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>
112 exception guarantees</a></span></dt>
113 <dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.container_const_reference_parameters">Parameter
114 taken by const reference that can be changed</a></span></dt>
115 <dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.Vector_bool"><code class="computeroutput"><span class="identifier">vector</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span></code> specialization</a></span></dt>
116 <dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.non_standard_memset_initialization">Non-standard
117 value initialization using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">memset</span></code></a></span></dt>
119 <dt><span class="section"><a href="container/known_issues.html">Known Issues</a></span></dt>
120 <dd><dl><dt><span class="section"><a href="container/known_issues.html#container.known_issues.move_emulation_limitations">Move
121 emulation limitations in C++03 compilers</a></span></dt></dl></dd>
122 <dt><span class="section"><a href="container/history_and_reasons.html">History and reasons to use
123 Boost.Container</a></span></dt>
125 <dt><span class="section"><a href="container/history_and_reasons.html#container.history_and_reasons.boost_container_history">Boost.Container
126 history</a></span></dt>
127 <dt><span class="section"><a href="container/history_and_reasons.html#container.history_and_reasons.Why_boost_container">Why
128 Boost.Container?</a></span></dt>
130 <dt><span class="section"><a href="container/index.html">Indexes</a></span></dt>
132 <dt><span class="section"><a href="container/index.html#id-1.3.10.13.2">Class Index</a></span></dt>
133 <dt><span class="section"><a href="container/index.html#id-1.3.10.13.3">Typedef Index</a></span></dt>
134 <dt><span class="section"><a href="container/index.html#id-1.3.10.13.4">Function Index</a></span></dt>
136 <dt><span class="section"><a href="boost_container_header_reference.html">Boost.Container Header Reference</a></span></dt>
138 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.adaptive_pool_hpp">Header <boost/container/adaptive_pool.hpp></a></span></dt>
139 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.allocator_hpp">Header <boost/container/allocator.hpp></a></span></dt>
140 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.allocator_traits_hpp">Header <boost/container/allocator_traits.hpp></a></span></dt>
141 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.container_fwd_hpp">Header <boost/container/container_fwd.hpp></a></span></dt>
142 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.deque_hpp">Header <boost/container/deque.hpp></a></span></dt>
143 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.deque_hpp">Header <boost/container/pmr/deque.hpp></a></span></dt>
144 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.flat_map_hpp">Header <boost/container/flat_map.hpp></a></span></dt>
145 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.flat_map_hpp">Header <boost/container/pmr/flat_map.hpp></a></span></dt>
146 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.flat_set_hpp">Header <boost/container/flat_set.hpp></a></span></dt>
147 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.flat_set_hpp">Header <boost/container/pmr/flat_set.hpp></a></span></dt>
148 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.list_hpp">Header <boost/container/list.hpp></a></span></dt>
149 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.list_hpp">Header <boost/container/pmr/list.hpp></a></span></dt>
150 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.map_hpp">Header <boost/container/map.hpp></a></span></dt>
151 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.map_hpp">Header <boost/container/pmr/map.hpp></a></span></dt>
152 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.new_allocator_hpp">Header <boost/container/new_allocator.hpp></a></span></dt>
153 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.node_allocator_hpp">Header <boost/container/node_allocator.hpp></a></span></dt>
154 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.node_handle_hpp">Header <boost/container/node_handle.hpp></a></span></dt>
155 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.options_hpp">Header <boost/container/options.hpp></a></span></dt>
156 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.global_resource_hpp">Header <boost/container/pmr/global_resource.hpp></a></span></dt>
157 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.memory_resource_hpp">Header <boost/container/pmr/memory_resource.hpp></a></span></dt>
158 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.monotonic_buffer_resource_hpp">Header <boost/container/pmr/monotonic_buffer_resource.hpp></a></span></dt>
159 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.polymorphic_allocator_hpp">Header <boost/container/pmr/polymorphic_allocator.hpp></a></span></dt>
160 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.pool_options_hpp">Header <boost/container/pmr/pool_options.hpp></a></span></dt>
161 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.resource_adaptor_hpp">Header <boost/container/pmr/resource_adaptor.hpp></a></span></dt>
162 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.synchronized_pool_resource_hpp">Header <boost/container/pmr/synchronized_pool_resource.hpp></a></span></dt>
163 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.unsynchronized_pool_resource_hpp">Header <boost/container/pmr/unsynchronized_pool_resource.hpp></a></span></dt>
164 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.scoped_allocator_hpp">Header <boost/container/scoped_allocator.hpp></a></span></dt>
165 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.scoped_allocator_fwd_hpp">Header <boost/container/scoped_allocator_fwd.hpp></a></span></dt>
166 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.set_hpp">Header <boost/container/set.hpp></a></span></dt>
167 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.set_hpp">Header <boost/container/pmr/set.hpp></a></span></dt>
168 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.slist_hpp">Header <boost/container/slist.hpp></a></span></dt>
169 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.slist_hpp">Header <boost/container/pmr/slist.hpp></a></span></dt>
170 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.small_vector_hpp">Header <boost/container/small_vector.hpp></a></span></dt>
171 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.small_vector_hpp">Header <boost/container/pmr/small_vector.hpp></a></span></dt>
172 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.stable_vector_hpp">Header <boost/container/stable_vector.hpp></a></span></dt>
173 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.stable_vector_hpp">Header <boost/container/pmr/stable_vector.hpp></a></span></dt>
174 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.static_vector_hpp">Header <boost/container/static_vector.hpp></a></span></dt>
175 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.string_hpp">Header <boost/container/string.hpp></a></span></dt>
176 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.string_hpp">Header <boost/container/pmr/string.hpp></a></span></dt>
177 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.throw_exception_hpp">Header <boost/container/throw_exception.hpp></a></span></dt>
178 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.uses_allocator_hpp">Header <boost/container/uses_allocator.hpp></a></span></dt>
179 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.uses_allocator_fwd_hpp">Header <boost/container/uses_allocator_fwd.hpp></a></span></dt>
180 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.vector_hpp">Header <boost/container/vector.hpp></a></span></dt>
181 <dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.vector_hpp">Header <boost/container/pmr/vector.hpp></a></span></dt>
183 <dt><span class="section"><a href="container/acknowledgements_notes.html">Acknowledgements, notes
184 and links</a></span></dt>
185 <dt><span class="section"><a href="container/release_notes.html">Release Notes</a></span></dt>
187 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_72_00">Boost
188 1.72 Release</a></span></dt>
189 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_71_00">Boost
190 1.71 Release</a></span></dt>
191 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_70_00">Boost
192 1.70 Release</a></span></dt>
193 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_69_00">Boost
194 1.69 Release</a></span></dt>
195 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_68_00">Boost
196 1.68 Release</a></span></dt>
197 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_67_00">Boost
198 1.67 Release</a></span></dt>
199 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_66_00">Boost
200 1.66 Release</a></span></dt>
201 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_65_00">Boost
202 1.65 Release</a></span></dt>
203 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_64_00">Boost
204 1.64 Release</a></span></dt>
205 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_63_00">Boost
206 1.63 Release</a></span></dt>
207 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_62_00">Boost
208 1.62 Release</a></span></dt>
209 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_61_00">Boost
210 1.61 Release</a></span></dt>
211 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_60_00">Boost
212 1.60 Release</a></span></dt>
213 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_59_00">Boost
214 1.59 Release</a></span></dt>
215 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_58_00">Boost
216 1.58 Release</a></span></dt>
217 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_57_00">Boost
218 1.57 Release</a></span></dt>
219 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_56_00">Boost
220 1.56 Release</a></span></dt>
221 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_55_00">Boost
222 1.55 Release</a></span></dt>
223 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_54_00">Boost
224 1.54 Release</a></span></dt>
225 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_53_00">Boost
226 1.53 Release</a></span></dt>
227 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_52_00">Boost
228 1.52 Release</a></span></dt>
229 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_51_00">Boost
230 1.51 Release</a></span></dt>
231 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_50_00">Boost
232 1.50 Release</a></span></dt>
233 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_49_00">Boost
234 1.49 Release</a></span></dt>
235 <dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_48_00">Boost
236 1.48 Release</a></span></dt>
240 <div class="section">
241 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
242 <a name="container.intro"></a><a class="link" href="container.html#container.intro" title="Introduction">Introduction</a>
243 </h2></div></div></div>
244 <div class="toc"><dl class="toc">
245 <dt><span class="section"><a href="container.html#container.intro.introduction_building_container">Building
246 Boost.Container</a></span></dt>
247 <dt><span class="section"><a href="container.html#container.intro.tested_compilers">Tested compilers</a></span></dt>
250 <span class="bold"><strong>Boost.Container</strong></span> library implements several
251 well-known containers, including STL containers. The aim of the library is
252 to offer advanced features not present in standard containers or to offer the
253 latest standard draft features for compilers that don't comply with the latest
257 In short, what does <span class="bold"><strong>Boost.Container</strong></span> offer?
259 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
260 <li class="listitem">
261 Emplacement and move semantics are implemented, including emulation for
264 <li class="listitem">
265 Polymorphic allocators and memory resources, including implementation and
266 emulation for pre-C++17 compilers
268 <li class="listitem">
269 New advanced features (e.g. recursive containers) and configurability options
270 <a class="link" href="container/configurable_containers.html" title="Extended functionality: Configurable containers">container.configurable_containers</a>
273 <li class="listitem">
274 Containers support stateful allocators and are compatible with <span class="bold"><strong>Boost.Interprocess</strong></span> (they can be safely placed in
277 <li class="listitem">
278 Users obtain a more uniform performance across all plataforms, including
279 <a class="link" href="container/main_features.html#container.main_features.scary_iterators" title="SCARY iterators">SCARY iterators</a>.
281 <li class="listitem">
282 The library offers new useful containers:
283 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
284 <li class="listitem">
285 <code class="computeroutput"><a class="link" href="boost/container/flat_map.html" title="Class template flat_map">flat_map</a></code>,
286 <code class="computeroutput"><a class="link" href="boost/container/flat_set.html" title="Class template flat_set">flat_set</a></code>,
287 <code class="computeroutput"><a class="link" href="boost/container/flat_multimap.html" title="Class template flat_multimap">flat_multimap</a></code>
288 and <code class="computeroutput"><a class="link" href="boost/container/flat_multiset.html" title="Class template flat_multiset">flat_multiset</a></code>:
289 drop-in replacements for standard associative containers but more
290 memory friendly and with faster searches.
292 <li class="listitem">
293 <code class="computeroutput"><a class="link" href="boost/container/stable_vector.html" title="Class template stable_vector">stable_vector</a></code>:
294 a std::list and std::vector hybrid container: vector-like random-access
295 iterators and list-like iterator stability in insertions and erasures.
297 <li class="listitem">
298 <code class="computeroutput"><a class="link" href="boost/container/static_vector.html" title="Class template static_vector">static_vector </a></code>:
299 a vector-like container that internally embeds (statically allocates)
300 all needed memory up to the maximum capacity. Maximum capacity can't
301 be increased and it's specified at compile time.
303 <li class="listitem">
304 <code class="computeroutput"><a class="link" href="boost/container/small_vector.html" title="Class template small_vector">small_vector </a></code>:
305 a vector-like container that internally embeds (statically allocates)
306 a minimum amount of memory, but dynamically allocates elements when
307 capacity has to be increased. This minimum capacity is specified
310 <li class="listitem">
311 <code class="computeroutput"><a class="link" href="boost/container/slist.html" title="Class template slist">slist</a></code>: the classic
312 pre-standard singly linked list implementation offering constant-time
313 <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>.
314 Note that C++11 <code class="computeroutput"><span class="identifier">forward_list</span></code>
315 has no <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>.
320 <div class="section">
321 <div class="titlepage"><div><div><h3 class="title">
322 <a name="container.intro.introduction_building_container"></a><a class="link" href="container.html#container.intro.introduction_building_container" title="Building Boost.Container">Building
324 </h3></div></div></div>
326 There is no need to compile <span class="bold"><strong>Boost.Container</strong></span>,
327 since it's a header-only library, just include your Boost header directory
328 in your compiler include path <span class="bold"><strong>except if you use</strong></span>:
330 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
331 <li class="listitem">
332 <a class="link" href="container/extended_allocators.html" title="Extended functionality: Extended allocators">Extended Allocators</a>
334 <li class="listitem">
335 Some <a class="link" href="container/cpp_conformance.html#container.cpp_conformance.polymorphic_memory_resources" title="Polymorphic Memory Resources">Polymorphic
336 Memory Resources</a> classes.
340 Those exceptions are are implemented as a separately compiled library, so
341 in those cases you must install binaries in a location that can be found
342 by your linker. If you followed the <a href="http://www.boost.org/doc/libs/release/more/getting_started/index.html" target="_top">Boost
343 Getting Started</a> instructions, that's already been done for you.
346 <div class="section">
347 <div class="titlepage"><div><div><h3 class="title">
348 <a name="container.intro.tested_compilers"></a><a class="link" href="container.html#container.intro.tested_compilers" title="Tested compilers">Tested compilers</a>
349 </h3></div></div></div>
351 <span class="bold"><strong>Boost.Container</strong></span> requires a decent C++98
352 compatibility. Some compilers known to work are:
354 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
355 <li class="listitem">
356 Visual C++ >= 7.1.
358 <li class="listitem">
362 <div class="warning"><table border="0" summary="Warning">
364 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../doc/src/images/warning.png"></td>
365 <th align="left">Warning</th>
367 <tr><td align="left" valign="top"><p>
368 GCC < 4.3 and MSVC < 9.0 are deprecated and will be removed in the
375 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
376 <td align="left"><p><small>Last revised: December 10, 2019 at 00:26:55 GMT</small></p></td>
377 <td align="right"><div class="copyright-footer"></div></td>
380 <div class="spirit-nav">
381 <a accesskey="p" href="circular_buffer/s14.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="container/main_features.html"><img src="../../doc/src/images/next.png" alt="Next"></a>