А если я определю свободную шаблонную функцию bool operator==(const std::pair<T, U>&, const std::pair<T1, U1>&) , std::equal сможет её использовать для сравнения?
или мне вообще нужно просто вызывать версию equal c лямбдой... Короче. в моём коде не должно быть необходимости тулить pair <const T,...> вместо просто Т, только нужно научить std алгоритмы сравнивать const и не-const версии. И не нужен никакой лист.
А если я определю свободную шаблонную функцию bool operator==(const std::pair<T, U>&, const std::pair<T1, U1>&) , std::equal сможет её использовать для сравнения?
Для стандартных пар уже есть стандартные операторы сравнений.