提取运算符对

时间:2017-01-17 14:38:18

标签: c++ standards conditional-compilation std-pair extraction-operator

标准为pair提供了all the comparison operatorsassignment operator。是否有讨论提取算子的潜力?

例如:

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 个答案:

没有答案