Graphisoft®

GSRootVersion: 1.0

Includes

하나의 정렬된 범위가 두 번째 정렬된 범위에 포함된 모든 요소들을 포함하는지 여부를 테스트합니다. 여기서 요소들 간의 순서 또는 등가 기준은 이항 술어(binary predicate)에 의해 지정될 수 있습니다.

template <class In>
bool Includes (
    In                  first1,
    In                  last1,
    In                  first2,
    In                  last2
);
template <class In, class BinPred>
bool Includes (
    In                  first1,
    In                  last1,
    In                  first2,
    In                  last2,
    BinPred             pred
);

Template 파라미터

In
입력 반복자입니다.
BinPred
이항 술어(Binary predicate)입니다.

파라미터

first1
테스트할 2개의 정렬된 소스 범위들 중 1번째 범위의 1번째 요소의 위치를 설명하는 입력 반복자입니다. 2번째 범위의 모든 요소들이 1번째 범위 안에 포함되어 있는지 여부를 테스트합니다.
last1
테스트할 2개의 정렬된 소스 범위들 중 1번째 범위의 마지막 직전 요소의 위치를 설명하는 입력 반복자입니다. 2번째 범위의 모든 요소들이 1번째 범위 안에 포함되어 있는지 여부를 테스트합니다.
first2
테스트할 2개의 정렬된 소스 범위들 중 2번째 범위의 1번째 요소의 위치를 설명하는 입력 반복자입니다. 2번째 범위의 모든 요소들이 1번째 범위 안에 포함되어 있는지 여부를 테스트합니다.
last2
테스트할 2개의 정렬된 소스 범위들 중 2번째 범위의 마지막 직전 요소의 위치를 설명하는 입력 반복자입니다. 2번째 범위의 모든 요소들이 1번째 범위 안에 포함되어 있는지 여부를 테스트합니다.
pred
한 요소가 다른 요소보다 작다는 의미를 정의하는 사용자 정의 술어 함수 객체입니다. 이항 술어(binary predicate)는 2개의 인자를 취하며, 만족할 때에는 true, 만족하지 않을 때에는 false를 리턴합니다.

리턴 값

만약 1번째 정렬된 범위가 2번째 정렬된 범위의 모든 요소들을 포함하고 있다면 true를 리턴합니다; 그 외에는 false입니다.

설명

Includes는 어떤 정렬된 범위가 또 다른 정렬된 범위를 포함하는지 여부를 테스트합니다. 즉, 이것은 [first2, last2)의 모든 요소에 대하여 [first1, last1)에도 해당 요소들이 존재할 경우에만 true를 리턴합니다. [first1, last1)[first2, last2) 모두 오름차순으로 정렬되어 있어야 합니다. Includes의 2가지 버전들은 한 요소가 다른 요소보다 작다는 것을 어떻게 정의하느냐에 따라 다릅니다. 1번째 버전은 operator<를 사용하여 객체들을 비교하고, 2번째 버전은 술어 pred를 이용하여 객체들을 비교합니다.

참고사항

알고리즘