Очередь приоритетов C++ с двумя компараторами
Возможно ли в C++ реализовать приоритетную очередь с двумя компараторами?
Вот пример:
struct Task
{
int r,p,q;
int task_number;
};
struct Greater_r
{
bool operator()(const Task& task_a, const Task& task_b) const
{
return task_a.r >= task_b.r;
}
};
Я хотел бы отсортировать не только по "r", но и по "task_number", потому что, когда для двух задач r имеет одинаковое значение, приоритетная очередь будет сортировать его случайным образом.