IsEqual
2개의 범위를 요소 별로 비교할 때 동일한 것인지, 혹은 이항 술어(binary predicate)에 의해 지정된 의미에서 동일한 것인지 비교합니다.
template <class In1, class In2, class BinPred>
bool IsEqual (
In1 first1,
In1 last1,
In2 first2,
BinPred pred
);
template <class In1, class In2>
bool IsEqual (
In1 first1,
In1 last1,
In2 first2
);
Template 파라미터
- In1
-
입력 반복자입니다.
- In2
-
입력 반복자입니다.
- BinPred
-
이항 술어(Binary predicate)입니다.
파라미터
- first1
-
테스트할 1번째 범위의 1번째 요소의 위치를 설명하는 입력 반복자입니다.
- last1
-
테스트할 1번째 범위의 마지막 직전 요소의 위치를 설명하는 입력 반복자입니다.
- first2
-
테스트할 2번째 범위의 1번째 요소의 위치를 설명하는 입력 반복자입니다.
- pred
-
두 요소들을 등가로 취하는 경우 만족할 조건을 정의하는 사용자 정의 술어 함수 객체입니다.
이항 술어(binary predicate)는 2개의 인자들을 취하며, 만족할 때에는 true, 만족하지 않을 때에는 false를 리턴합니다.
리턴 값
요소 별로 비교할 때 이항 술어 밑에서 범위들이 동일하거나 동등할 때에만 true를 리턴합니다; 그 외에는 false를 리턴합니다.
설명
IsEqual은 두 범위 [first1, last1)과 [first2, first2 + (last1 - first1))이 요소 별로 비교하여 동일할 때 true를 리턴합니다. 그 외에는 false를 리턴합니다.
IsEqual의 1번째 버전은 [first1, last1)의 모든 반복자 i에 대하여 *i == *(first2 + (i - first1))일 때에만 true를 리턴합니다.
IsEqual의 2번째 버전은 [first1, last1)의 모든 반복자 i에 대하여 pred(*i, *(first2 + (i - first1))이 true일 때에만 true를 리턴합니다.
참고사항
알고리즘