Шаг 57.
Библиотека STL.
Вспомогательные средства. Парные сравнения

    На этом шаге мы рассмотрим один из способов реализации сравнения пар.

    Для сравнения двух пар в стандартную библиотеку C++ включены обычные операторы сравнения. Две пары считаются равными при совпадении отдельных компонентов:

namespace std {
  template <class T1, class T2>
  bool operator << (const pair<T1,T2>& x, const pair<T1,T2>& y) 
  { 
    return x.first == y.first && x.second = y.second;
  }
}

    При сравнении пар первый компонент обладает более высоким приоритетом. Если первые компоненты пар различны, то результат их сравнения (больше или меньше) определяет результат сравнения для пар в целом. Если первые компоненты равны, то результат сравнения пар определяется сравнением вторых компонентов:

namespace std {
  template <class T1, class T2>
  bool operator< (const pair<T1,T2>& x, const pair<T1,.T2>& y) 
  { 
    return x.first < y.first ||
      (!(y.first <x.first) && x.second < y.second);
  }
}

    Остальные операторы сравнения определяются аналогично.

    На следующем шаге мы рассмотрим функцию make_pair.




Предыдущий шаг Содержание Следующий шаг