# Boost.MultiIndex Reference

Tecnhiques
Index
`multi_index_container` reference

## Contents

- Header dependencies
- Class template `multi_index_container`
- Index reference
- Ordered indices
- Hashed indices
- Sequenced indices
- Random access indices
- Key Extraction

## Header dependencies

The following dependencies among headers of Boost.MultiIndex hold:

- `"boost/multi_index_container.hpp"` includes
  - `"boost/multi_index/indexed_by.hpp"`.
- `"boost/multi_index/ordered_index.hpp"` includes
  - `"boost/multi_index/tag.hpp"`.
- `"boost/multi_index/hashed_index.hpp"` includes
  - `"boost/multi_index/tag.hpp"`.
- `"boost/multi_index/sequenced_index.hpp"` includes
  - `"boost/multi_index/tag.hpp"`.
- `"boost/multi_index/random_access_index.hpp"` includes
  - `"boost/multi_index/tag.hpp"`.
- `"boost/multi_index/key_extractors.hpp"` includes
  - `"boost/multi_index/identity.hpp"`,
  - `"boost/multi_index/member.hpp"`,
  - `"boost/multi_index/mem_fun.hpp"` and
  - `"boost/multi_index/composite_key.hpp"`.

So, a program using Boost.MultiIndex must include `"boost/multi_index_container.hpp"`, the headers defining the index types to be used and possibly one or more key extraction headers for key-based indices. Note that all the key extractors provided by Boost.MultiIndex are automatically included with `"boost/multi_index/key_extractors.hpp"`.

In order to use the serialization capabilities of Boost.MultiIndex, the appropriate Boost.Serialization library module must be linked. Other than that, Boost.MultiIndex is a header-only library, requiring no additional object modules.

Tecnhiques
Index
`multi_index_container` reference

Revised February 6th 2005

© Copyright 2003-2006 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)