bool operator()(const std::shared_ptr<SearchCell>& a, const std::shared_ptr<SearchCell>& b) const
{
if (a->get_f() <= b->get_f())
return true;
else if (a->get_f() > b->get_f())
return true;
}I don't get this.if A <= B then you return true, but if A > B then you also return true. So why bother comparing something - just return always true.
Edit: too late...