Wie sortiere ich einen Vektor von Paaren basierend auf dem zweiten Element des Paares?

Wenn ich einen Vektor von Paaren habe:

std::vector<std::pair<int, int> > vec;

Gibt es eine einfache Möglichkeit, die Liste in aufsteigender Reihenfolge nach dem zweiten Element des Paares zu sortieren?

Ich weiß, dass ich ein kleines Funktionsobjekt schreiben kann, das die Arbeit erledigt, aber gibt es eine Möglichkeit, vorhandene Teile des @ zu verwende STL undstd::less um die Arbeit direkt zu erledigen?

EDIT: Ich verstehe, dass ich eine separate Funktion oder Klasse schreiben kann, um sie zum Sortieren an das dritte Argument zu übergeben. Die Frage ist, ob ich es aus Standardmaterialien bauen kann oder nicht. Ich hätte wirklich etwas, das so aussieht:

std::sort(vec.begin(), vec.end(), std::something_magic<int, int, std::less>());

Antworten auf die Frage(14)

Ihre Antwort auf die Frage