Graphisoft®

GSRootVersion: 1.0

RemoveIf

나머지 요소의 순서를 방해하지 않고 주어진 범위에서 술어를 만족하는 요소들을 제거합니다. 그리고 지정된 값이 없는 새로운 범위의 끝을 리턴합니다.

template <class For, class Pred>
For RemoveIf (
    For                 first,
    For                 last,
    Pred                pred
);

Template 파라미터

For
순방향 반복자입니다.
Pred
단항 술어(Unary predicate)입니다.

파라미터

first
요소들이 제거되는 범위의 1번째 요소의 위치를 설명하는 순방향 반복자입니다.
last
요소들이 제거되는 범위의 마지막 직전 요소의 위치를 설명하는 순방향 반복자입니다.
pred
대체될 요소의 값은 단항 술어(unary predicate)를 만족해야 합니다.

리턴 값

변경된 범위의 새로운 끝 위치를 설명하는 순방향 반복자입니다. 이 위치는 술어를 만족하는 요소가 없는 나머지 시퀀스의 마지막 직전 요소입니다.

설명

RemoveIf는 범위 [first, last)로부터 pred (x)true인 모든 요소 x를 제거합니다. 즉, RemoveIfpredtrue인 요소들이 포함되어 있지 않은 범위 [first, new_last)에서 반복자 new_last를 리턴합니다. 범위 [new_last, last)의 반복자들은 여전히 모두 디레퍼런스할 수 있지만, 그것들이 가리키는 요소들은 지정되어 있지 않았습니다. RemoveIf는 안정적입니다. 이것은 제거되지 않은 요수들의 상대적인 순서가 변경되지 않는다는 것을 의미합니다.

참고사항

알고리즘