Как сравнить равенство 2 boost :: icl :: interval_set - PullRequest
1 голос
/ 20 мая 2019

Я хотел знать, есть ли более быстрый способ узнать, равны ли 2 boost :: icl :: interval_set?

Я пробовал следующие условия для более быстрых результатов, но я думаю, они не завершены: 1. сравнивая их размер () 2. сравнивая самый низкий элемент 3. Сравнение самого большого элемента

Метод грубой силы состоит в том, чтобы сравнивать оба элемента поэлементно, но если есть известный лучший способ сравнения или некоторая встроенная функция, пожалуйста, дайте мне знать

1 Ответ

1 голос
/ 20 мая 2019

Существует несколько странно названная встроенная функция is_element_equal для сравнения равенства двух 2 boost::icl::interval_set с.

Обратите внимание, что согласно документации ,

Равенство на множествах не реализовано как оператор ==, поскольку оператор == используется для более строгого лексикографического равенства на сегментах, которое учитывает сегментацию элементов.

split_interval_set<time> w1, w2; //Pseudocode
w1 = {[Mon       ..       Sun)}; //split_interval_set containing a week
w2 = {[Mon .. Fri)[Sat .. Sun)}; //Same week split in work and week end parts.
w1 == w2;                        //false: Different segmentation
is_element_equal(w1,w2);         //true:  Same elements contained  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...