CopyIf
template <class In, class Out, class Pred> Out CopyIf ( In first, In last, Out result, Pred pred );
Template 파라미터
- In
입력 반복자입니다. - Out
출력 반복자입니다. - Pred
단항 술어(Unary predicate)입니다.
파라미터
- first
소스 범위의 1번째 요소의 위치를 설명하는 입력 반복자입니다. - last
소스 범위의 마지막 직전 요소의 위치를 설명하는 입력 반복자입니다. - result
목적지 범위에서 1번째 요소의 위치를 설명하는 출력 반복자입니다. - pred
만약 요소를 셀 경우 충족되는 조건을 정의하는 사용자 정의 술어(predicate) 함수 객체입니다. 술어는 1개의 인자를 가지며 true 또는 false를 리턴합니다.
리턴 값
설명
소스 범위는 반드시 유효해야 하며, 목적지는 복사되는 모든 요소들을 저장할 수 있는 충분한 공간이 있어야 합니다. 이 알고리즘은 소스 요소를 1번째 요소부터 순서대로 복사하기 때문에 소스 범위의 first 위치가 목적지 범위에 포함되지 않는 경우 목적지 범위가 소스 범위와 겹칠 수 있습니다.
CopyIf는 소스 범위와 목적지 범위 간에 겹치지 않는 이상 요소들을 오른쪽이 아닌 왼쪽으로 shift 시킬 수 있습니다.
위치들을 오른쪽으로 shift 하려면 CopyIfBackward 알고리즘을 사용하십시오. CopyIf 알고리즘은 목적지 범위에 있는 요소들에게 새로운 값들을 할당하면서 반복자들이 가리키는 값들만 변경합니다.
새로운 요소들을 생성하는 데 사용할 수 없으며 빈 컨테이너에 요소들을 직접 삽입할 수 없습니다.