使用C ++ Boost间隔容器库(ICL)时如何移动间隔?

时间:2013-06-24 17:12:33

标签: c++ boost intervals boost-icl

如何使用Boost间隔容器库移动discrete_interval?

即。我想从间隔的lower()和间隔的upper()中减去整数c?显然我可以创建一个新的区间,但我正在寻找规范的方法来做到这一点。

1 个答案:

答案 0 :(得分:2)

规范的方法是构造一个新的区间并将其分配给你的区间,因为boost::lcl::discrete_interval是不可变的(除了赋值运算符)。因此,要移动间隔,您必须创建一个具有所需下限和上限的新间隔,并将其分配给旧间隔。

boost::icl::discrete_interval<int> interval;
interval = boost::icl::discrete_interval<int>::closed(3, 4);