Boost C++ 库

……在世界上最受推崇、设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ Coding Standards

Boost.MultiIndex 文档 - 索引 - Boost C++ 函数库


Boost Multi-index Containers 库提供了一个名为 multi_index_container 的类模板,它能够构建维护一个或多个具有不同排序和访问语义的索引的容器。这些索引提供了类似于 STL 容器的接口,使得它们的使用方式很熟悉。多重索引(multi-indexing)同一组元素的思想借鉴了关系数据库的术语,并允许以多重索引关系表的形式来指定复杂的数据结构,以应对简单集合(sets)和映射(maps)不足的情况。该库提供了多种索引,其模型借鉴了类似的 STL 容器,如 std::setstd::liststd::unordered_set

Boost.MultiIndex 具有额外的功能,例如子对象搜索、范围查询、元素的原地更新以及排名计算,即使在不需要多重索引功能时,它也是 std::setset::multiset 的便捷替代品。

Boost.MultiIndex 的通用性允许指定各种不同的数据结构。以下是文档中开发的可能使用示例:

目录




修订于 2015 年 4 月 19 日

© 版权所有 2003-2015 Joaquín M López Muñoz。依据 Boost Software License, Version 1.0 分发。(请参阅附带文件 LICENSE_1_0.txt 或访问 https://boost.ac.cn/LICENSE_1_0.txt 获得副本)