如何从interval_maps获取给定键的值?

时间:2019-11-26 11:41:08

标签: c++ boost boost-icl

我正在将boost::icl::interval_maps与int interval一起使用,我想知道如何获取属于某个时间间隔的int(键)的值?

例如,如果我们有一个具有以下结构的区间图

[0, 5): ["A1", "A2"],
[5, 10): ["A2"]

,我使用密钥4来获取["A1", "A2"]。 我在boost文档中看到的所有示例都遍历整个结构。

1 个答案:

答案 0 :(得分:1)

该实现应该可以工作,但是在icl中可能会有一个更优雅的实现,甚至是一个函数,正是这样。我建议研究文档。

icl中的大多数功能都通过键类型(即间隔)提供访问。您想查询一个点,可以用一个封闭的间隔[N,N]表示。 lower_bound似乎是显而易见的选择,然后检查此时间间隔是否不在查询点“上方/上方”。

on-click