Re: boost::multi_index, std::set_intersection
От: Кодт Россия  
Дата: 10.09.08 11:30
Оценка: 2 (1)
Здравствуйте, uzverg, Вы писали:

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


Проблема в том, что set_intersection работает с компаратором над элементами. А элементы у тебя — это указатели.
Нужно подсунуть специальный компаратор
struct dereferenced_less
{
    template<class T>
    bool operator()(T* x, T* y) const { return *x < *y; }
};

.....
set_intersection(es1.begin(),es1.end(), es2.begin(),es2.end(), inserter(es3,es3.end()), dereferenced_less());
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.