boost interval_map

发布时间 2023-11-09 09:43:41作者: 卑以自牧lq

boost interval

boost 的 interval 相关的内容在 boost::icl 命名空间中

主要有两个容器:interval_set 和 interval_map

区间的定义很灵活:

right_open
left_open
open
closed
construct // 这个不知道表示什么

可以定义区间合并的方式:

inplace_identity // i=
inplace_erasure // 0=
inplace_plus // +=
inplace_minus // -=
inplace_bit_add // b|=
inplace_bit_subtract // b-=
inplace_bit_and // b&=
inplace_et // &=
inplace_caret // ^=
inplace_insert // ins=
inplace_erase // ers=
inplace_star // *=
inplace_slash // /=
inplace_max // max=
inplace_min // min=

当往 map 中插入数据时,会根据区间合并的方式进行合并。

map 有 += 操作,好像和 add 是等效的
insert 操作和 add 表现不一样