Graphisoft®

GSRootVersion: 1.0

SearchN

특정 값을 갖거나 또는 이항 술어에 의해 지정된 값과 관계를 갖는 지정된 수의 요소들의 범위 안에서 처음 발견되는 서브 시퀀스를 검색합니다.

template <class For, class T>
For SearchN (
    For                 first,
    For                 last,
    USize               range,
    const T &           value
);
template <class For, class T, class BinPred>
For SearchN (
    For                 first,
    For                 last,
    USize               range,
    const T &           value,
    BinPred             pred
);

Template 파라미터

For
순방향 반복자입니다.
T
T 타입 template 파라미터입니다.
BinPred
이항 술어(Binary predicate)입니다.

파라미터

first
검색될 범위의 1번째 요소의 위치를 설명하는 순방향 반복자입니다.
last
검색될 범위의 마지막 직전 요소의 위치를 설명하는 순방향 반복자입니다.
range
검색할 하위 시퀀스의 크기입니다.
value
검색할 시퀀스의 요소들의 값입니다.
pred
두 요소가 동등할 경우 충족되는 조건을 정의하는 사용자 정의 술어 함수 객체입니다. 이항 술어(binary predicate)는 2개의 인자를 취하며 만족할 때에는 true를, 만족하지 않을 때에는 false를 리턴합니다.

리턴 값

지정된 시퀀스와 일치하거나 이항 술어로 지정된 의미와 같은 1번째 시퀀스의 1번째 요소의 위치를 설명하는 순방향 반복자입니다.

설명

SearchN은 범위 [first, last)에서 Count 개의 연속적인 요소들의 하위 시퀀스를 검색합니다. 모든 값은 value와 같습니다. 이것은 하위 시퀀스의 시작을 가리키는 반복자를 리턴합니다. 만약 그러한 하위 시퀀스가 없다면 last를 리턴합니다. SearchN의 2가지 버전들은 두 요소들이 동일한지 여부를 결정하는 방법에 따라 다릅니다. 1번째 버전은 operator==를 사용하고, 2번째 버전은 사용자가 제공한 술어 pred를 사용합니다. SearchN의 1번째 버전은 범위 [i, i + count)의 모든 반복자 j에 대하여 *j == value인 범위 [first, last - count)의 1번째 반복자 i를 리턴합니다. SearchN의 2번째 버전은 범위 [i, i + count)의 모든 반복자 j에 대하여 pred(*j, value)true인 범위 [first, last - count)의 1번째 반복자 i를 리턴합니다.

참고사항

알고리즘