<!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 hashed sets.
</p>

<p>
Boost.MultiIndex features additional functionalities, like subobject searching,
range querying and in-place updating of elements, 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 February 6th 2006</p>

<p>&copy; Copyright 2003-2006 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;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>
