# Boost Multi-index Containers Library

Tutorial

The Boost Multi-index Containers Library provides a class template named `multi_index_container` which enables the construction of containers maintaining one or more indices 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.

Boost.MultiIndex features additional functionalities, like subobject searching, range querying and in-place updating of elements, which make it a convenient replacement for `std::set` and `set::multiset` even when no multi-indexing capabilities are needed.

## Contents

- Tutorial
- Advanced topics
- Reference
- Compiler specifics
- Performance
- Examples
- Tests
- Future work
- Acknowledgements

Tutorial

Revised May 28th 2004

© Copyright 2003-2004 Joaquín M López Muñoz. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)