Я изучаю boost.icl. Прокручивая его исходный код, я заметил, что функция flip () просто вызывает clear () в интервале_мап, если ее признаки равны alot_absorber. Согласно документации, она должна стереть интервал, если карта содержит его или добавить, в противном случае. Итак, я пошел проверить это и с данным кодом: < /p>
#include
#include
using namespace boost::icl;
using namespace std;
int main()
{
interval_map imap;
imap += make_pair(interval::right_open(1, 9), 1);
cout 1)}
{([1,3)->1)([5,9)->1)}
{([1,3)->1)([5,9)->1)([10,15)->1)}
Я не понимаю, почему это отличается для Total_absorber. , логически ли это не имеет смысла? Если так, почему? Потому что я могу вручную собрать карту с этими диапазонами: < /p>
interval_map imap;
imap += make_pair(interval::right_open(1, 3), 1);
imap += make_pair(interval::right_open(5, 9), 1);
imap += make_pair(interval::right_open(10, 15), 1);
cout
{([1,3)->1)([5,9)->1)([10,15)->1)}
Подробнее здесь: https://stackoverflow.com/questions/794 ... ar-the-map
C ++: Почему Boost :: IC :: Interval_Map :: Flip () просто очистит карту? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение