例如,我可以定义一个类似的概念吗
template <class Iter>
concept bool Iterator =
requires(Iter i, typename std::iterator_traits<Iter>::value_type val,
typename std::iterator_traits<Iter>::reference ref) {
++i;
// other implementation
};
使用 gcc 6,此代码将编译,但类似的结果Iterator<int>
也会导致替换失败。这是它应该做的吗?true
val
ref