Boost Multi-index Containers 库提供了一个名为 multi_index_container
的类模板,它能够构建维护一个或多个具有不同排序和访问语义的索引的容器。这些索引提供了类似于 STL 容器的接口,使得它们的使用方式很熟悉。多重索引(multi-indexing)同一组元素的思想借鉴了关系数据库的术语,并允许以多重索引关系表的形式来指定复杂的数据结构,以应对简单集合(sets)和映射(maps)不足的情况。该库提供了多种索引,其模型借鉴了类似的 STL 容器,如 std::set
、std::list
和 std::unordered_set
。
Boost.MultiIndex 具有额外的功能,例如子对象搜索、范围查询、元素的原地更新以及排名计算,即使在不需要多重索引功能时,它也是 std::set
和 set::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 获得副本)