# Boost.MultiIndex Reference

Techniques
Index
`multi_index_container` reference

## Contents

- Header dependencies
- Class template `multi_index_container`
- Index reference
- Ordered indices
- Ranked 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/ranked_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"`,
  - `"boost/multi_index/global_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.

Techniques
Index
`multi_index_container` reference

Revised November 24th 2015

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