equality (1)
template <class InputIterator1, class InputIterator2>
bool equal (InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2);
predicate (2)
template <class InputIterator1, class InputIterator2, class BinaryPredicate>
bool equal (InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, BinaryPredicate pred);
두 범위의 요소가 동일한지 검정하는 함수 템플릿이다.
[first1, last1] 범위의 요소를 first2에서 시작하는 범위의 요소와 비교하고, 두 범위의 모든 요소가 일치하면 true를 반환한다.
요소는 operator==
(또는 버전 (2)에서는 pred(함수 인자))를 사용하여 비교함.
인자
사전식 순서로 비교해주는 함수이다.
default (1)
template <class InputIterator1, class InputIterator2>
bool lexicographical_compare (InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2);
custom (2)
template <class InputIterator1, class InputIterator2, class Compare>
bool lexicographical_compare (InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
Compare comp);
[first1, last]이 [first2,last2]보다 사전순으로 작을 경우 true를 반환한다.
만약 두 범위중 한 범위가 끝날때까지 요소의 내용이 동일할 경우 더 짧은 길이의 시퀀스가 긴 시퀀스보다 사전순으로 작다.
첫 번째 버전의 경우 연산자 <를 사용하고 두 번째 버전의 경우 comp(함수 인자)를 사용하여 요소를 비교한다. a
와 b
두 원소는 if (!(a<b) && !(b<a))
또는 if (!comp(a,b) && !comp(b,a))
이면 동일한 것으로 간주된다.