Оператор извлечения для пары

Стандарт предусматривает все операторы сравнения и оператор присваивания за pair, обсуждался ли потенциал оператора добычи?

Например:

template <typename _Ty1, typename _Ty2>
enable_if_t<decltype(declval<istream&>() >> declval<_Ty1&>(), true_type())::value && decltype(declval<istream&>() >> declval<_Ty2&>(), true_type())::value, istream&> operator >> (istream& lhs, pair<_Ty1, _Ty2>& rhs) {
return lhs >> rhs.first >> rhs.second;
}

Очевидно, если это было использовано в то время как pair содержащиеся типы, для которых оператор извлечения не был определен, это завершится ошибкой так же, как и сравнение pairтипы, которые не содержат операторов сравнения, потерпят неудачу.

Но только подумайте о радости того, чтобы иметь возможность течь в map! Конечно, кто-то предложил это?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector