100 lines
3.8 KiB
HTML
100 lines
3.8 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
|
|
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
<title>Boost.MultiIndex Documentation - Index</title>
|
|
<link rel="stylesheet" href="style.css" type="text/css">
|
|
<link rel="start" href="index.html">
|
|
<link rel="next" href="tutorial/index.html">
|
|
</head>
|
|
|
|
<body>
|
|
<h1><img src="../../../boost.png" alt="boost.png (6897 bytes)" align=
|
|
"middle" width="277" height="86">Boost Multi-index Containers Library</h1>
|
|
|
|
<div class="prev_link"> </div>
|
|
<div class="up_link"> </div>
|
|
<div class="next_link"><a href="tutorial/index.html"><img src="next.gif" alt="tutorial" border="0"><br>
|
|
Tutorial
|
|
</a></div><br clear="all" style="clear: all;">
|
|
|
|
<hr>
|
|
|
|
<p>
|
|
The Boost Multi-index Containers Library provides a class template named
|
|
<code>multi_index_container</code> which enables the construction of containers
|
|
maintaining one or more <i>indices</i> with different sorting and access semantics.
|
|
Indices provide interfaces similar to those of STL containers, making using them
|
|
familiar. The concept of multi-indexing over the same collection of elements is
|
|
borrowed from relational database terminology and allows for the specification of
|
|
complex data structures in the spirit of multiply indexed relational tables where
|
|
simple sets and maps are not enough. A wide selection of indices is provided,
|
|
modeled after analogous STL containers like <code>std::set</code>,
|
|
<code>std::list</code> and <code>std::unordered_set</code>.
|
|
</p>
|
|
|
|
<p>
|
|
Boost.MultiIndex features additional functionalities, like subobject searching,
|
|
range querying, in-place updating of elements and calculation of ranks,
|
|
which make it a convenient replacement
|
|
for <code>std::set</code> and <code>set::multiset</code> even when no multi-indexing
|
|
capabilities are needed.
|
|
</p>
|
|
|
|
<p>
|
|
The versatile nature of Boost.MultiIndex allows for the specification of
|
|
a wide spectrum of different data structures. The following are possible
|
|
examples of use developed in the documentation:
|
|
<ul>
|
|
<li><a href="tutorial/basics.html#multiple_sort">Sets with several iteration orders
|
|
and search criteria</a>.</li>
|
|
<li><a href="tutorial/basics.html#list_fast_lookup">Lists with fast lookup</a>
|
|
and/or without duplicates.</li>
|
|
<li><a href="examples.html#example4">Bidirectional maps</a>, i.e. maps
|
|
searchable either for key or value.</li>
|
|
<li><a href="examples.html#example9">MRU (most recently used) lists</a>,
|
|
structures keeping the <i>n</i> last referenced items, beginning with
|
|
the newest ones.</li>
|
|
<li><a href="tutorial/techniques.html#emulate_std_containers">Emulations of
|
|
standard containers</a> taking advantage of the extra functionalities
|
|
provided by Boost.MultiIndex.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2>Contents</h2>
|
|
|
|
<ul>
|
|
<li><a href="tutorial/index.html">Tutorial</a></li>
|
|
<li><a href="reference/index.html">Reference</a></li>
|
|
<li><a href="compiler_specifics.html">Compiler specifics</a></li>
|
|
<li><a href="performance.html">Performance</a></li>
|
|
<li><a href="examples.html">Examples</a></li>
|
|
<li><a href="tests.html">Tests</a></li>
|
|
<li><a href="future_work.html">Future work</a></li>
|
|
<li><a href="release_notes.html">Release notes</a></li>
|
|
<li><a href="acknowledgements.html">Acknowledgements</a></li>
|
|
</ul>
|
|
|
|
<hr>
|
|
|
|
<div class="prev_link"> </div>
|
|
<div class="up_link"> </div>
|
|
<div class="next_link"><a href="tutorial/index.html"><img src="next.gif" alt="tutorial" border="0"><br>
|
|
Tutorial
|
|
</a></div><br clear="all" style="clear: all;">
|
|
|
|
<br>
|
|
|
|
<p>Revised April 19th 2015</p>
|
|
|
|
<p>© Copyright 2003-2015 Joaquín M López Muñoz.
|
|
Distributed under the Boost Software
|
|
License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt">
|
|
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
|
|
http://www.boost.org/LICENSE_1_0.txt</a>)
|
|
</p>
|
|
|
|
</body>
|
|
</html>
|