Graphisoft®

GSRootVersion: 1.0

LowerBound

정렬된 범위의 1번째 요소가 지정된 값보다 작거나 같은 값을 갖는 경우를 찾습니다. 여기서 등가는 이항 술어에 의해 지정될 수 있습니다.

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

Template 파라미터

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

파라미터

first
검색할 범위의 1번째 요소의 위치를 설명하는 순방향 반복자입니다.
last
검색할 범위의 마지막 직전 요소의 위치를 설명하는 순방향 반복자입니다.
value
정렬된 범위에서 검색되는 1번째 위치 또는 가능한 1번째 위치의 값입니다.
pred
어떤 요소가 다른 요소보다 작다는 의미를 정의하는 사용자 정의 술어 함수 객체입니다. 이항 술어(binary predicate)는 2개의 인자를 취하며 만족하면 true를, 만족하지 않으면 false를 리턴합니다.

리턴 값

정렬된 범위의 1번째 요소가 지정한 값보다 작거나 같은 값을 갖는 경우 그 위치를 설명하는 순방향 반복자입니다. 여기서 등가는 이항 술어로 지정할 수 있습니다.

설명

LowerBound는 이전 검색의 버전 중 하나입니다: 이것은 정렬된 범위 [first, last)에서 요소 value를 검색하려고 시도합니다. 구체적으로 이것은 순서를 깨뜨리지 않고 삽입될 수 있는 value가 있는 1번째 위치를 리턴합니다. LowerBound의 1번째 버전은 비교를 위해 operator<를 사용하고, 2번째 버전은 술어 pred를 사용합니다. LowerBound의 1번째 버전은 [first, i)의 모든 반복자 j에 대하여 *j < value[first, last)의 가장 먼 반복자 i를 리턴합니다. LowerBound의 2번째 버전은 [first, i)의 모든 반복자 j에 대하여 pred(*j, value)true[first, last)의 가장 먼 반복자 i를 리턴합니다.

참고사항

알고리즘