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를 제거합니다.
즉, RemoveIf는 pred가 true인 요소들이 포함되어 있지 않은 범위 [first, new_last)에서 반복자 new_last를 리턴합니다.
범위 [new_last, last)의 반복자들은 여전히 모두 디레퍼런스할 수 있지만, 그것들이 가리키는 요소들은 지정되어 있지 않았습니다.
RemoveIf는 안정적입니다. 이것은 제거되지 않은 요수들의 상대적인 순서가 변경되지 않는다는 것을 의미합니다.
참고사항
알고리즘