std::istream_iterator 연산자
std::istream_iterator 연산자 (operator== 등)
두 std::istream_iterator가 같은지(둘 다 end-of-stream이거나 같은 스트림을 가리키는지) 확인하는 연산자들이에요.
출처: cppreference
본문
<iterator> 헤더에 정의돼 있어요.
// (1)
template< class T, class CharT, class Traits, class Dist >
bool operator==( const std::istream_iterator<T, CharT, Traits, Dist>& lhs,
const std::istream_iterator<T, CharT, Traits, Dist>& rhs );
// (2) C++20까지
template< class T, class CharT, class Traits, class Dist >
bool operator!=( const std::istream_iterator<T, CharT, Traits, Dist>& lhs,
const std::istream_iterator<T, CharT, Traits, Dist>& rhs );
// (3) C++20부터
friend bool operator==( const istream_iterator& i, std::default_sentinel_t );
lhs와 rhs가 모두 같은지 확인해요. 두 스트림 반복자는 둘 다 end-of-stream 반복자이거나 같은 스트림을 가리키면 같아요.
-
lhs가rhs와 같은지 확인해요.
-
lhs가rhs와 다른지 확인해요(C++20까지).
-
lhs가 end-of-stream 반복자인지 확인해요(C++20부터). 이 함수는 일반적인 비한정·한정 조회로는 보이지 않고, ADL로만 찾을 수 있어요.
반환값
-
lhs가 end-of-stream이면rhs도 end-of-stream일 때, 아니면lhs.stream == rhs.stream.
-
- 1의 부정.
-
i가 end-of-stream 반복자일 때true.