parallel_transform 함수
두 소스 범위에서 요소 쌍에 또는 소스 범위에 있는 각 요소에 지정된 함수 개체를 적용하고, 동시에 대상 범위에 함수 개체의 반환 값을 복사합니다. 이 함수는 구문적으로 std::transform 와 동일합니다.
template <
typename _Input_iterator1,
typename _Output_iterator,
typename _Unary_operator
>
_Output_iterator parallel_transform(
_Input_iterator1_First1,
_Input_iterator1_Last1,
_Output_iterator_Result,
const _Unary_operator& _Unary_op,
const auto_partitioner& _Part = auto_partitioner()
);
template <
typename _Input_iterator1,
typename _Output_iterator,
typename _Unary_operator
>
_Output_iterator parallel_transform(
_Input_iterator1_First1,
_Input_iterator1_Last1,
_Output_iterator_Result,
const _Unary_operator& _Unary_op,
const static_partitioner& _Part
);
template <
typename _Input_iterator1,
typename _Output_iterator,
typename _Unary_operator
>
_Output_iterator parallel_transform(
_Input_iterator1_First1,
_Input_iterator1_Last1,
_Output_iterator_Result,
const _Unary_operator& _Unary_op,
const simple_partitioner& _Part
);
template <
typename _Input_iterator1,
typename _Output_iterator,
typename _Unary_operator
>
_Output_iterator parallel_transform(
_Input_iterator1_First1,
_Input_iterator1_Last1,
_Output_iterator_Result,
const _Unary_operator& _Unary_op,
affinity_partitioner& _Part
);
template <
typename _Input_iterator1,
typename _Input_iterator2,
typename _Output_iterator,
typename _Binary_operator,
typename _Partitioner
>
_Output_iterator parallel_transform(
_Input_iterator1_First1,
_Input_iterator1_Last1,
_Input_iterator2_First2,
_Output_iterator_Result,
const _Binary_operator& _Binary_op,
_Partitioner&& _Part
);
template <
typename _Input_iterator1,
typename _Input_iterator2,
typename _Output_iterator,
typename _Binary_operator
>
_Output_iterator parallel_transform(
_Input_iterator1_First1,
_Input_iterator1_Last1,
_Input_iterator2_First2,
_Output_iterator_Result,
const _Binary_operator& _Binary_op
);
매개 변수
_Input_iterator1
첫 번째 형식 또는 입력된 반복기입니다._Output_iterator
출력 반복기의 형식입니다._Unary_operator
입력된 범위에 있는 각 요소에 대해 실행 되는 단항 함수의 형식입니다._Input_iterator2
두번째 입력 반복기의 형식입니다._Binary_operator
두 원본 범위의 요소에 쌍 단위로 실행되는 이진 함수의 형식입니다._Partitioner
_First1
입력된 반복기만 원본 범위에서 작동 하는 첫 번째 있는 첫 번째 요소의 위치입니다._Last1
입력된 반복기만 원본 범위에서 작동 하는 마지막 엘리먼트의 하나 전 위치입니다._Result
목표 범위에서 첫 번째 요소의 위치를 가리키는 출력 반복기입니다._Unary_op
소스 범위에 있는 각 요소에 적용할 사용자 정의 단항 함수 개체입니다._Part
파티셔너 개체에 대한 참조입니다. 인수 중 하나일 수 있습니다 const auto_partitioner&, const static_partitioner&, const simple_partitioner & 또는 affinity_partitioner & 경우는 affinity_partitioner 개체를 사용, 알고리즘은 재사용 하 여 이후의 반복에 대 한 상태를 저장할 수 있도록 참조 l-value 비 const 참조를 해야 합니다._First2
입력된 반복기만 두 번째 원본 범위에서 작동 하는 있는 첫 번째 요소의 위치입니다._Binary_op
두 소스 범위 전달 순서로 쌍에 적용 되는 이진 함수 사용자 정의 개체입니다.
반환 값
출력 반복기 위치 지나서 함수 개체로 변환 하는 출력 요소를 받는 대상 범위의 마지막 요소입니다.
설명
auto_partitioner 는 명시적 파티셔너 인수 없이 오버 로드에 사용됩니다.
임의 액세스를 지원하지 않는 반복기에 대해 auto_partitioner 만을 사용할 수 있습니다.
_Unary_op 인수를 사용하는오버 로드는 단항 함수 입력된 범위에 있는 각 요소에 적용하여 출력 범위에 입력된 범위를 변환합니다. _Unary_op는 operator()(T) 서명을 사용하여 함수 호출 연산자를 지원해야 합니다. T 는 반복되는 범위의 값 형식입니다.
_Binary_op 인수를 사용하는 오버 로드는 입력된 범위의 첫 번째 및 두 번째 입력된 범위에서 한 요소 한 요소를 이진 함수를 적용 하 여 출력 범위에 두 입력된 값의 범위를 변환 합니다. _Binary_op은 operator()(T, U) 서명을 사용하여 함수 호출 연산자를 지원해야 합니다. T , U 는 두 입력된 반복기의 값 형식입니다.
자세한 내용은 병렬 알고리즘을 참조하십시오.
요구 사항
헤더: ppl.h
네임스페이스: 동시성