Согласно моей копии стандарта C ++ 0x, раздел 20.3.3.26, std::pair
имеет operator<
, определенный таким образом, что для двух пар x и y он возвращает
x.first < y.first || (!(y.first < x.first) && x.second < y.second)
IЯ не уверен, является ли это частью стандарта 2003 года.Я также должен отметить, что это не скомпилируется, если сами элементы не являются LessThanComparable.