ReplaceCopy
소스 범위 내에서 각 요소를 검사하고 결과를 새 대상 범위로 복사하는 동안 지정된 값과 일치하는 경우 해당 요소를 대체합니다.
template <class In, class Out, class T>
Out ReplaceCopy (
In first,
In last,
Out res,
const T & oldVal,
const T & newVal
);
Template 파라미터
- In
-
입력 반복자입니다.
- Out
-
출력 반복자입니다.
- T
-
T 타입 template 파라미터입니다.
파라미터
- first
-
요소들이 교체되는 범위의 1번째 요소의 위치를 가리키는 입력 반복자입니다.
- last
-
요소들이 교체되는 범위의 마지막 직전 요소의 위치를 가리키는 입력 반복자입니다.
- res
-
변경된 요소들의 시퀀스를 복사할 목적지 범위의 1번째 요소를 가리키는 출력 반복자입니다.
- oldVal
-
대체될 요소들의 이전 값입니다.
- newVal
-
이전 값을 가진 요소들에게 할당할 새로운 값입니다.
리턴 값
요소들의 변경된 시퀀스가 복사될 목적지 범위의 마지막 직전 요소의 위치를 가리키는 출력 반복자입니다.
설명
ReplaceCopy는 범위 [first, last)로부터 범위 [result, result + (last-first))로 요소들을 복사합니다. 단, oldVal과 동일한 요소는 복사하지 않습니다; 대신 newVal을 복사합니다.
좀 더 정확히는 모든 정수 n에 대하여 0 <= n < last-first입니다.
ReplaceCopy는 *(first+n) == oldVal일 경우 할당 *(result+n) = newVal을 수행합니다. 그 외에는 *(result+n) = *(first+n)을 수행합니다.
참고사항
알고리즘