operator==,!=(std::istreambuf_iterator<CharT,Traits>)

From cppreference.com
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11)(C++14)
(C++14)(C++14)
(C++11)(C++14)
(C++14)(C++14)
(C++17)(C++20)
(C++17)
(C++17)
Defined in header <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) (until C++20)
friend bool operator== ( const istreambuf_iterator& lhs,
std::default_sentinel_t ) ;
(3) (since C++20)

Checks whether both lhs and rhs

1) Equivalent to lhs.equal(rhs).
2) Equivalent to !lhs.equal(rhs)
3) Checks whether lhs is invalid. Equivalent to lhs.equal(istreambuf_iterator{}).
This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup

The != operator is synthesized from operator==.

(since C++20)

Parameters

lhs, rhs - stream buffer iterators to compare

Return value

1) The result of lhs.equal(rhs).
2) The result of !lhs.equal(rhs)
3) The result of lhs.equal(istreambuf_iterator{})

Exceptions

May throw implementation-defined exceptions.