сортировка std :: set с помощью оператора () для упорядочения вставок
Я продолжаю этот пост послеэто у нас есть класс как:
class LaneConnector {
public:
const Lane* getLaneFrom() const {
return From;
}
const Lane* getLaneTo() const {
return To;
}
private:
Lane* From;
Lane* To;
}
и функтор для сравнения как:
struct MyLaneConectorSorter {
bool operator() (const LaneConnector* rhs, const LaneConnector* lhs) const
{
// you may want to put some null pointer checks in here
const Lane* a = lhs->getLaneFrom();
const Lane* b = rhs->getLaneFrom();
return a->getLaneID() < b->getLaneID();
}
};
и наконец набор источника и назначения:
const std::set src = ..... ;
const std::set dest(src.begin(), src.end(), MyLaneConectorSorter());
Размер набора dest будет 1, а в src больше (14 в моем случае)
что я мог сделать не так? Я ценю ваши добрые комментарии. Спасибо