1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> 2 3<html> 4<head> 5<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 6<title>Boost.MultiIndex Documentation - Index</title> 7<link rel="stylesheet" href="style.css" type="text/css"> 8<link rel="start" href="index.html"> 9<link rel="next" href="tutorial/index.html"> 10</head> 11 12<body> 13<h1><img src="../../../boost.png" alt="boost.png (6897 bytes)" align= 14"middle" width="277" height="86">Boost Multi-index Containers Library</h1> 15 16<div class="prev_link"> </div> 17<div class="up_link"> </div> 18<div class="next_link"><a href="tutorial/index.html"><img src="next.gif" alt="tutorial" border="0"><br> 19Tutorial 20</a></div><br clear="all" style="clear: all;"> 21 22<hr> 23 24<p> 25The Boost Multi-index Containers Library provides a class template named 26<code>multi_index_container</code> which enables the construction of containers 27maintaining one or more <i>indices</i> with different sorting and access semantics. 28Indices provide interfaces similar to those of STL containers, making using them 29familiar. The concept of multi-indexing over the same collection of elements is 30borrowed from relational database terminology and allows for the specification of 31complex data structures in the spirit of multiply indexed relational tables where 32simple sets and maps are not enough. A wide selection of indices is provided, 33modeled after analogous STL containers like <code>std::set</code>, 34<code>std::list</code> and <code>std::unordered_set</code>. 35</p> 36 37<p> 38Boost.MultiIndex features additional functionalities, like subobject searching, 39range querying, in-place updating of elements and calculation of ranks, 40which make it a convenient replacement 41for <code>std::set</code> and <code>set::multiset</code> even when no multi-indexing 42capabilities are needed. 43</p> 44 45<p> 46The versatile nature of Boost.MultiIndex allows for the specification of 47a wide spectrum of different data structures. The following are possible 48examples of use developed in the documentation: 49<ul> 50 <li><a href="tutorial/basics.html#multiple_sort">Sets with several iteration orders 51 and search criteria</a>.</li> 52 <li><a href="tutorial/basics.html#list_fast_lookup">Lists with fast lookup</a> 53 and/or without duplicates.</li> 54 <li><a href="examples.html#example4">Bidirectional maps</a>, i.e. maps 55 searchable either for key or value.</li> 56 <li><a href="examples.html#example9">MRU (most recently used) lists</a>, 57 structures keeping the <i>n</i> last referenced items, beginning with 58 the newest ones.</li> 59 <li><a href="tutorial/techniques.html#emulate_std_containers">Emulations of 60 standard containers</a> taking advantage of the extra functionalities 61 provided by Boost.MultiIndex.</li> 62</ul> 63</p> 64 65<h2>Contents</h2> 66 67<ul> 68 <li><a href="tutorial/index.html">Tutorial</a></li> 69 <li><a href="reference/index.html">Reference</a></li> 70 <li><a href="compiler_specifics.html">Compiler specifics</a></li> 71 <li><a href="performance.html">Performance</a></li> 72 <li><a href="examples.html">Examples</a></li> 73 <li><a href="tests.html">Tests</a></li> 74 <li><a href="future_work.html">Future work</a></li> 75 <li><a href="release_notes.html">Release notes</a></li> 76 <li><a href="acknowledgements.html">Acknowledgements</a></li> 77</ul> 78 79<hr> 80 81<div class="prev_link"> </div> 82<div class="up_link"> </div> 83<div class="next_link"><a href="tutorial/index.html"><img src="next.gif" alt="tutorial" border="0"><br> 84Tutorial 85</a></div><br clear="all" style="clear: all;"> 86 87<br> 88 89<p>Revised April 19th 2015</p> 90 91<p>© Copyright 2003-2015 Joaquín M López Muñoz. 92Distributed under the Boost Software 93License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt"> 94LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"> 95http://www.boost.org/LICENSE_1_0.txt</a>) 96</p> 97 98</body> 99</html> 100