Graphisoft®

GSRootVersion: 1.0

RemoveCopyIf

나머지 요소의 순서를 방해하지 않고 소스 범위에서 대상 범위로 요소들을 복사합니다. 단, 술어를 만족하는 요소들은 복사에서 제외합니다. 새로운 대상 범위의 끝을 리턴합니다.

template <class In, class Out, class Pred>
Out RemoveCopyIf (
    In                  first,
    In                  last,
    Out                 res,
    Pred                pred
);

Template 파라미터

In
입력 반복자입니다.
Out
출력 반복자입니다.
Pred
단항 술어(Unary predicate)입니다.

파라미터

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

리턴 값

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

설명

RemoveCopyIf는 범위 [first, last)로부터 result로 시작하는 범위로 요소들을 복사합니다. 단, predtrue인 요소들은 복사하지 않습니다. 리턴 값은 결과 범위의 끝입니다. 이 동작은 안정적입니다. 이것은 복사된 요소의 상대적인 순서가 범위 [first, last)의 순서와 동일하다는 것을 의미합니다.

참고사항

알고리즘