Re[2]: boost::multi_index, std::set_intersection
От: jazzer Россия Skype: enerjazzer
Дата: 11.09.08 12:08
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, uzverg, Вы писали:


U>>Не работает пересечение множеств, немогу понять в чем проблема?


К>Проблема в том, что set_intersection работает с компаратором над элементами. А элементы у тебя — это указатели.

К>Нужно подсунуть специальный компаратор
К>
К>set_intersection(es1.begin(),es1.end(), es2.begin(),es2.end(), inserter(es3,es3.end()), dereferenced_less());
К>


Ну, раз уж все равно буст используется, то можно и лямбду заюзать напрямую:

set_intersection(
  es1.begin(), es1.end(),
  es2.begin(), es2.end(),
  inserter( es3, es3.end() ),
  *_1 < *_2 );

jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.