我相信我想使用 boost::icl::interval_map 来解决问题(在此处描述,如果 interval_maps 最终有效,我将发布完整的答案。)
我想使用interval_map<unsigned long long, set<foo*>>
,但 boost::icl 的文档提到存在潜在的效率问题(以下来自)。
我们使用一组字符串的区间映射来介绍区间映射,因为它具有教学优势。派对示例用于立即访问区间图和重叠聚合的基本思想。对于现实世界的应用程序,不一定建议使用一组 interval_map。它与 std::sets 的 std::map 具有相同的效率问题。尽管将区间映射与数字和其他有效数据类型一起用于关联值,但仍有一个很大的领域。
std::sets 的 std::map 的效率问题是什么? 以及如何避免它们?