Well, after a short search, I learned how to "resort" to the queue, so after each change in the priority value, you need to call:
std::make_heap(const_cast<Type**>(&queue.top()), const_cast<Type**>(&queue.top()) + queue.size(), ComparerClass());
And the line should then be
std::priority_queue<Type*,vector<Type*>,ComparerClass> queue;
Hope this helps.
noisy cat
source share