390 lines
32 KiB
HTML
390 lines
32 KiB
HTML
<!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=UTF-8">
|
||
<title>Chapter 9. Boost.Container</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="circular_buffer/s14.html" title="Index">
|
||
<link rel="next" href="container/main_features.html" title="Main features">
|
||
</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="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>
|
||
</div>
|
||
<div class="chapter">
|
||
<div class="titlepage"><div>
|
||
<div><h2 class="title">
|
||
<a name="container"></a>Chapter 9. Boost.Container</h2></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 © 2009-2018 Ion Gaztanaga</p></div>
|
||
<div><div class="legalnotice">
|
||
<a name="container.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="container.html#container.intro">Introduction</a></span></dt>
|
||
<dd><dl>
|
||
<dt><span class="section"><a href="container.html#container.intro.introduction_building_container">Building
|
||
Boost.Container</a></span></dt>
|
||
<dt><span class="section"><a href="container.html#container.intro.tested_compilers">Tested compilers</a></span></dt>
|
||
</dl></dd>
|
||
<dt><span class="section"><a href="container/main_features.html">Main features</a></span></dt>
|
||
<dd><dl>
|
||
<dt><span class="section"><a href="container/main_features.html#container.main_features.move_emplace">Efficient insertion</a></span></dt>
|
||
<dt><span class="section"><a href="container/main_features.html#container.main_features.containers_of_incomplete_types">Containers
|
||
of Incomplete Types</a></span></dt>
|
||
<dt><span class="section"><a href="container/main_features.html#container.main_features.scary_iterators">SCARY iterators</a></span></dt>
|
||
<dt><span class="section"><a href="container/main_features.html#container.main_features.other_features">Other features</a></span></dt>
|
||
</dl></dd>
|
||
<dt><span class="section"><a href="container/exception_handling.html">Boost.Container and C++ exceptions</a></span></dt>
|
||
<dt><span class="section"><a href="container/non_standard_containers.html">Non-standard containers</a></span></dt>
|
||
<dd><dl>
|
||
<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>
|
||
<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>
|
||
associative containers</a></span></dt>
|
||
<dt><span class="section"><a href="container/non_standard_containers.html#container.non_standard_containers.devector"><span class="emphasis"><em>devector</em></span></a></span></dt>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
</dl></dd>
|
||
<dt><span class="section"><a href="container/extended_functionality.html">Extended functionality:
|
||
Basic extensions</a></span></dt>
|
||
<dd><dl>
|
||
<dt><span class="section"><a href="container/extended_functionality.html#container.extended_functionality.default_initialialization">Default
|
||
initialization for vector-like containers</a></span></dt>
|
||
<dt><span class="section"><a href="container/extended_functionality.html#container.extended_functionality.ordered_range_insertion">Ordered
|
||
range insertion for associative containers (<span class="emphasis"><em>ordered_unique_range</em></span>,
|
||
<span class="emphasis"><em>ordered_range</em></span>) </a></span></dt>
|
||
<dt><span class="section"><a href="container/extended_functionality.html#container.extended_functionality.constant_time_range_splice">Constant-time
|
||
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>
|
||
</dl></dd>
|
||
<dt><span class="section"><a href="container/configurable_containers.html">Extended functionality:
|
||
Configurable containers</a></span></dt>
|
||
<dd><dl>
|
||
<dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_tree_based_associative_containers">Configurable
|
||
tree-based associative ordered containers</a></span></dt>
|
||
<dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_vectors">Configurable
|
||
vectors</a></span></dt>
|
||
<dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_deques">Configurable
|
||
deques</a></span></dt>
|
||
<dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_static_vectors">Configurable
|
||
static vector</a></span></dt>
|
||
<dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_small_vectors">Configurable
|
||
small vector</a></span></dt>
|
||
</dl></dd>
|
||
<dt><span class="section"><a href="container/extended_allocators.html">Extended functionality:
|
||
Extended allocators</a></span></dt>
|
||
<dt><span class="section"><a href="container/cpp_conformance.html">C++11/C++14/C++17 Conformance</a></span></dt>
|
||
<dd><dl>
|
||
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.move_emplace">Move and Emplace</a></span></dt>
|
||
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.alloc_traits_move_traits">Stateful
|
||
allocators</a></span></dt>
|
||
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.scoped_allocator">Scoped allocators</a></span></dt>
|
||
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.insertion_hints">Insertion
|
||
hints in associative containers and preserving insertion ordering for elements
|
||
with equivalent keys</a></span></dt>
|
||
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.initializer_lists">Initializer
|
||
lists</a></span></dt>
|
||
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.null_iterators">Null Forward
|
||
Iterators</a></span></dt>
|
||
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.polymorphic_memory_resources">Polymorphic
|
||
Memory Resources </a></span></dt>
|
||
<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>
|
||
<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>
|
||
exception guarantees</a></span></dt>
|
||
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.container_const_reference_parameters">Parameter
|
||
taken by const reference that can be changed</a></span></dt>
|
||
<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>
|
||
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.non_standard_memset_initialization">Non-standard
|
||
value initialization using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">memset</span></code></a></span></dt>
|
||
</dl></dd>
|
||
<dt><span class="section"><a href="container/known_issues.html">Known Issues</a></span></dt>
|
||
<dd><dl><dt><span class="section"><a href="container/known_issues.html#container.known_issues.move_emulation_limitations">Move
|
||
emulation limitations in C++03 compilers</a></span></dt></dl></dd>
|
||
<dt><span class="section"><a href="container/history_and_reasons.html">History and reasons to use
|
||
Boost.Container</a></span></dt>
|
||
<dd><dl>
|
||
<dt><span class="section"><a href="container/history_and_reasons.html#container.history_and_reasons.boost_container_history">Boost.Container
|
||
history</a></span></dt>
|
||
<dt><span class="section"><a href="container/history_and_reasons.html#container.history_and_reasons.Why_boost_container">Why
|
||
Boost.Container?</a></span></dt>
|
||
</dl></dd>
|
||
<dt><span class="section"><a href="container/index.html">Indexes</a></span></dt>
|
||
<dd><dl>
|
||
<dt><span class="section"><a href="container/index.html#id-1.3.10.13.2">Class Index</a></span></dt>
|
||
<dt><span class="section"><a href="container/index.html#id-1.3.10.13.3">Typedef Index</a></span></dt>
|
||
<dt><span class="section"><a href="container/index.html#id-1.3.10.13.4">Function Index</a></span></dt>
|
||
</dl></dd>
|
||
<dt><span class="section"><a href="boost_container_header_reference.html">Boost.Container Header Reference</a></span></dt>
|
||
<dd><dl>
|
||
<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>
|
||
<dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.allocator_hpp">Header <boost/container/allocator.hpp></a></span></dt>
|
||
<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>
|
||
<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>
|
||
<dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.deque_hpp">Header <boost/container/deque.hpp></a></span></dt>
|
||
<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>
|
||
<dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.devector_hpp">Header <boost/container/devector.hpp></a></span></dt>
|
||
<dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.pmr.devector_hpp">Header <boost/container/pmr/devector.hpp></a></span></dt>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.list_hpp">Header <boost/container/list.hpp></a></span></dt>
|
||
<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>
|
||
<dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.map_hpp">Header <boost/container/map.hpp></a></span></dt>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.options_hpp">Header <boost/container/options.hpp></a></span></dt>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.set_hpp">Header <boost/container/set.hpp></a></span></dt>
|
||
<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>
|
||
<dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.slist_hpp">Header <boost/container/slist.hpp></a></span></dt>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.string_hpp">Header <boost/container/string.hpp></a></span></dt>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
<dt><span class="section"><a href="boost_container_header_reference.html#header.boost.container.vector_hpp">Header <boost/container/vector.hpp></a></span></dt>
|
||
<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>
|
||
</dl></dd>
|
||
<dt><span class="section"><a href="container/acknowledgements_notes.html">Acknowledgements, notes
|
||
and links</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html">Release Notes</a></span></dt>
|
||
<dd><dl>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_76_00">Boost
|
||
1.76 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_75_00">Boost
|
||
1.75 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_74_00">Boost
|
||
1.74 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_72_00">Boost
|
||
1.72 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_71_00">Boost
|
||
1.71 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_70_00">Boost
|
||
1.70 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_69_00">Boost
|
||
1.69 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_68_00">Boost
|
||
1.68 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_67_00">Boost
|
||
1.67 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_66_00">Boost
|
||
1.66 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_65_00">Boost
|
||
1.65 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_64_00">Boost
|
||
1.64 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_63_00">Boost
|
||
1.63 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_62_00">Boost
|
||
1.62 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_61_00">Boost
|
||
1.61 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_60_00">Boost
|
||
1.60 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_59_00">Boost
|
||
1.59 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_58_00">Boost
|
||
1.58 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_57_00">Boost
|
||
1.57 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_56_00">Boost
|
||
1.56 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_55_00">Boost
|
||
1.55 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_54_00">Boost
|
||
1.54 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_53_00">Boost
|
||
1.53 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_52_00">Boost
|
||
1.52 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_51_00">Boost
|
||
1.51 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_50_00">Boost
|
||
1.50 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_49_00">Boost
|
||
1.49 Release</a></span></dt>
|
||
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_48_00">Boost
|
||
1.48 Release</a></span></dt>
|
||
</dl></dd>
|
||
</dl>
|
||
</div>
|
||
<div class="section">
|
||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||
<a name="container.intro"></a><a class="link" href="container.html#container.intro" title="Introduction">Introduction</a>
|
||
</h2></div></div></div>
|
||
<div class="toc"><dl class="toc">
|
||
<dt><span class="section"><a href="container.html#container.intro.introduction_building_container">Building
|
||
Boost.Container</a></span></dt>
|
||
<dt><span class="section"><a href="container.html#container.intro.tested_compilers">Tested compilers</a></span></dt>
|
||
</dl></div>
|
||
<p>
|
||
<span class="bold"><strong>Boost.Container</strong></span> library implements several
|
||
well-known containers, including STL containers. The aim of the library is
|
||
to offer advanced features not present in standard containers or to offer the
|
||
latest standard draft features for compilers that don't comply with the latest
|
||
C++ standard.
|
||
</p>
|
||
<p>
|
||
In short, what does <span class="bold"><strong>Boost.Container</strong></span> offer?
|
||
</p>
|
||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||
<li class="listitem">
|
||
Emplacement and move semantics are implemented, including emulation for
|
||
pre-C++11 compilers.
|
||
</li>
|
||
<li class="listitem">
|
||
Polymorphic allocators and memory resources, including implementation and
|
||
emulation for pre-C++17 compilers
|
||
</li>
|
||
<li class="listitem">
|
||
New advanced features (e.g. recursive containers) and configurability options
|
||
<a class="link" href="container/configurable_containers.html" title="Extended functionality: Configurable containers">container.configurable_containers</a>
|
||
for containers.
|
||
</li>
|
||
<li class="listitem">
|
||
Containers support stateful allocators and are compatible with <span class="bold"><strong>Boost.Interprocess</strong></span> (they can be safely placed in
|
||
shared memory).
|
||
</li>
|
||
<li class="listitem">
|
||
Users obtain a more uniform performance across all plataforms, including
|
||
<a class="link" href="container/main_features.html#container.main_features.scary_iterators" title="SCARY iterators">SCARY iterators</a>.
|
||
</li>
|
||
<li class="listitem">
|
||
The library offers new useful containers:
|
||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
|
||
<li class="listitem">
|
||
<code class="computeroutput"><a class="link" href="boost/container/flat_map.html" title="Class template flat_map">flat_map</a></code>,
|
||
<code class="computeroutput"><a class="link" href="boost/container/flat_set.html" title="Class template flat_set">flat_set</a></code>,
|
||
<code class="computeroutput"><a class="link" href="boost/container/flat_multimap.html" title="Class template flat_multimap">flat_multimap</a></code>
|
||
and <code class="computeroutput"><a class="link" href="boost/container/flat_multiset.html" title="Class template flat_multiset">flat_multiset</a></code>:
|
||
drop-in replacements for standard associative containers but more
|
||
memory friendly and with faster searches.
|
||
</li>
|
||
<li class="listitem">
|
||
<code class="computeroutput"><a class="link" href="boost/container/stable_vector.html" title="Class template stable_vector">stable_vector</a></code>:
|
||
a std::list and std::vector hybrid container: vector-like random-access
|
||
iterators and list-like iterator stability in insertions and erasures.
|
||
</li>
|
||
<li class="listitem">
|
||
<code class="computeroutput"><a class="link" href="boost/container/static_vector.html" title="Class template static_vector">static_vector</a></code>:
|
||
a vector-like container that internally embeds (statically allocates)
|
||
all needed memory up to the maximum capacity. Maximum capacity can't
|
||
be increased and it's specified at compile time.
|
||
</li>
|
||
<li class="listitem">
|
||
<code class="computeroutput"><a class="link" href="boost/container/small_vector.html" title="Class template small_vector">small_vector</a></code>:
|
||
a vector-like container that internally embeds (statically allocates)
|
||
a minimum amount of memory, but dynamically allocates elements when
|
||
capacity has to be increased. This minimum capacity is specified
|
||
at compile time.
|
||
</li>
|
||
<li class="listitem">
|
||
<code class="computeroutput"><a class="link" href="boost/container/devector.html" title="Class template devector">devector</a></code>:
|
||
is a hybrid of the standard vector and deque containers. It offers
|
||
cheap (amortized constant time) insertion at both the front and back
|
||
ends.
|
||
</li>
|
||
<li class="listitem">
|
||
<code class="computeroutput"><a class="link" href="boost/container/slist.html" title="Class template slist">slist</a></code>: the classic
|
||
pre-standard singly linked list implementation offering constant-time
|
||
<code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>.
|
||
Note that C++11 <code class="computeroutput"><span class="identifier">forward_list</span></code>
|
||
has no <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>.
|
||
</li>
|
||
</ul></div>
|
||
</li>
|
||
</ul></div>
|
||
<div class="section">
|
||
<div class="titlepage"><div><div><h3 class="title">
|
||
<a name="container.intro.introduction_building_container"></a><a class="link" href="container.html#container.intro.introduction_building_container" title="Building Boost.Container">Building
|
||
Boost.Container</a>
|
||
</h3></div></div></div>
|
||
<p>
|
||
There is no need to compile <span class="bold"><strong>Boost.Container</strong></span>,
|
||
since it's a header-only library, just include your Boost header directory
|
||
in your compiler include path <span class="bold"><strong>except if you use</strong></span>:
|
||
</p>
|
||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||
<li class="listitem">
|
||
<a class="link" href="container/extended_allocators.html" title="Extended functionality: Extended allocators">Extended Allocators</a>
|
||
</li>
|
||
<li class="listitem">
|
||
Some <a class="link" href="container/cpp_conformance.html#container.cpp_conformance.polymorphic_memory_resources" title="Polymorphic Memory Resources">Polymorphic
|
||
Memory Resources</a> classes.
|
||
</li>
|
||
</ul></div>
|
||
<p>
|
||
Those exceptions are are implemented as a separately compiled library, so
|
||
in those cases you must install binaries in a location that can be found
|
||
by your linker. If you followed the <a href="http://www.boost.org/doc/libs/release/more/getting_started/index.html" target="_top">Boost
|
||
Getting Started</a> instructions, that's already been done for you.
|
||
</p>
|
||
</div>
|
||
<div class="section">
|
||
<div class="titlepage"><div><div><h3 class="title">
|
||
<a name="container.intro.tested_compilers"></a><a class="link" href="container.html#container.intro.tested_compilers" title="Tested compilers">Tested compilers</a>
|
||
</h3></div></div></div>
|
||
<p>
|
||
<span class="bold"><strong>Boost.Container</strong></span> requires a decent C++03
|
||
compatibility. Some compilers known to work are:
|
||
</p>
|
||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||
<li class="listitem">
|
||
Visual C++ >= 10.0
|
||
</li>
|
||
<li class="listitem">
|
||
GCC >= 4.8
|
||
</li>
|
||
</ul></div>
|
||
</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: April 13, 2021 at 16:33:02 GMT</small></p></td>
|
||
<td align="right"><div class="copyright-footer"></div></td>
|
||
</tr></table>
|
||
<hr>
|
||
<div class="spirit-nav">
|
||
<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>
|
||
</div>
|
||
</body>
|
||
</html>
|