Brian Silverman | 3cbbaca | 2018-08-04 23:38:07 -0700 | [diff] [blame^] | 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> |
| 19 | Tutorial |
| 20 | </a></div><br clear="all" style="clear: all;"> |
| 21 | |
| 22 | <hr> |
| 23 | |
| 24 | <p> |
| 25 | The Boost Multi-index Containers Library provides a class template named |
| 26 | <code>multi_index_container</code> which enables the construction of containers |
| 27 | maintaining one or more <i>indices</i> with different sorting and access semantics. |
| 28 | Indices provide interfaces similar to those of STL containers, making using them |
| 29 | familiar. The concept of multi-indexing over the same collection of elements is |
| 30 | borrowed from relational database terminology and allows for the specification of |
| 31 | complex data structures in the spirit of multiply indexed relational tables where |
| 32 | simple sets and maps are not enough. A wide selection of indices is provided, |
| 33 | modeled 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> |
| 38 | Boost.MultiIndex features additional functionalities, like subobject searching, |
| 39 | range querying, in-place updating of elements and calculation of ranks, |
| 40 | which make it a convenient replacement |
| 41 | for <code>std::set</code> and <code>set::multiset</code> even when no multi-indexing |
| 42 | capabilities are needed. |
| 43 | </p> |
| 44 | |
| 45 | <p> |
| 46 | The versatile nature of Boost.MultiIndex allows for the specification of |
| 47 | a wide spectrum of different data structures. The following are possible |
| 48 | examples 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> |
| 84 | Tutorial |
| 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. |
| 92 | Distributed under the Boost Software |
| 93 | License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt"> |
| 94 | LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"> |
| 95 | http://www.boost.org/LICENSE_1_0.txt</a>) |
| 96 | </p> |
| 97 | |
| 98 | </body> |
| 99 | </html> |