# Boost.MultiIndex Tests

Examples
Index
Future work

The Boost.MultiIndex test suite exercises the whole spectrum of functionalities provided by the library. Although the tests are not meant to serve as a learning guide, the interested reader may find it useful to inspect the source code to gain familiarity with some of the least common features offered by Boost.MultiIndex.

Boost.MultiIndex test suite.
Program | Description
--- | ---
`test_alloc_awareness.cpp` | Checks allocator awareness.
`test_basic.cpp` | Simple program along the lines of the employees example studied in the tutorial.
`test_capacity.cpp` | `empty`, `size`, `resize` (non key-based indices) and `reserve`/`capacity` (random access indices only).
`test_comparison.cpp` | Comparison between indices.
`test_composite_key.cpp` | `composite_key` and `composite_key_compare`.
`test_conv_iterators.cpp` | Checks convertibility of non-constant to constant iterators.
`test_copy_assignment.cpp` | Various forms of assignment: copy, `operator =`, insertion, (non key-based indices only) `assign` .
`test_hash_ops.cpp` | Hashing operations.
`test_iterators.cpp` | Constant and non-constant iterators and their reverse variants.
`test_key.cpp` | Terse key specification syntax.
`test_key_extractors.cpp` | Covers all use cases of key extractors shipped with the library.
`test_list_ops.cpp` | List-like operations particular to sequenced and random access indices.
`test_modifiers.cpp` | Checks the family of insertion and erasing operations.
`test_mpl_ops.cpp` | Metaprogramming manipulations of `multi_index_container` types.
`test_node_handling.cpp` | Operations involving node extraction and insertion.
`test_observers.cpp` | Checks observer member functions of ordered and hashed indices.
`test_projection.cpp` | Projection of iterators among indices.
`test_range.cpp` | Exercises the `range` facility (ordered indices only).
`test_rank_ops.cpp` | Specific operations of ranked indices.
`test_rearrange.cpp` | Rearrange functions of sequenced and random access indices.
`test_safe_mode.cpp` | Comprehensive coverage of all conditions checked in safe mode.
`test_serialization1.cpp` `test_serialization2.cpp` `test_serialization3.cpp` | Serialization support.
`test_set_ops.cpp` | Set-like operations particular to ordered indices.
`test_special_set_ops.cpp` | Checks special lookup operations using compatible sorting criteria.
`test_update.cpp` | `replace`, `modify` and `modify_key`.

Examples
Index
Future work

Revised May 9th 2020

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