◐ Shell
clean mode source ↗

operator==,!=(std::istreambuf_iterator<CharT,Traits>) - cppreference.com

来自cppreference.com

在标头 <iterator> 定义

template< class CharT, class Traits >
bool operator==( const std::istreambuf_iterator<CharT,Traits>& lhs,
                 const std::istreambuf_iterator<CharT,Traits>& rhs );
(1)
template< class CharT, class Traits >
bool operator!=( const std::istreambuf_iterator<CharT,Traits>& lhs,
                 const std::istreambuf_iterator<CharT,Traits>& rhs );
(2) (C++20 前)
friend bool operator==( const istreambuf_iterator& lhs,
                        std::default_sentinel_t );
(3) (C++20 起)

检查 lhsrhs 是否都有效,或是否都无效,无关乎它们所用的流缓冲区对象。

1) 等价于 lhs.equal(rhs)

2) 等价于 !lhs.equal(rhs)

3) 检查 lhs 是否无效。等价于 lhs.equal(istreambuf_iterator{})
此函数对常规的无限定有限定查找不可见,而只能在 std::istreambuf_iterator<CharT,Traits> 为实参的关联类时由实参依赖查找找到。

!= 运算符从 operator== 运算符合成

(C++20 起)

参数

返回值

1) lhs.equal(rhs) 的结果。

2) !lhs.equal(rhs) 的结果。

3) lhs.equal(istreambuf_iterator{}) 的结果。

异常

可能会抛出由实现定义的异常。