3
如何使用Boost區間容器庫移動discrete_interval?如何在使用C++ Boost間隔容器庫(ICL)時移動間隔?
即我想從區間的lower()和區間的upper()中減去整數c?顯然,我可以創建一個新的時間間隔,但我正在尋找執行此操作的規範方法。
如何使用Boost區間容器庫移動discrete_interval?如何在使用C++ Boost間隔容器庫(ICL)時移動間隔?
即我想從區間的lower()和區間的upper()中減去整數c?顯然,我可以創建一個新的時間間隔,但我正在尋找執行此操作的規範方法。
規範的方法是構造一個新的時間間隔並將其分配給您的時間間隔,因爲boost::lcl::discrete_interval
是不可變的(除賦值運算符外)。因此,要移動間隔,您必須創建一個具有所需下限和上限的新時間間隔,並將其分配給舊時間間隔。
boost::icl::discrete_interval<int> interval;
interval = boost::icl::discrete_interval<int>::closed(3, 4);
至少我不會再花費時間試圖找到解決方案不存在。 即使間隔是不可變的,爲什麼不有一個函數需要一個T類型的間隔和一個常量(在你的情況下是int),並返回一個新的間隔,並且間隔已經移過來了? 這並不難寫,但它似乎是有道理的在API中有這樣的東西。 – daj