다음을 통해 공유


parallel_transform 함수

지정 된 function 개체의 각 요소에는 원본 범위의 요소 쌍 두 원본 범위에서 적용 됩니다 및 대상 범위, 동시에 반환 값 함수 개체를 복사 합니다.이 기능을 의미상 동일 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
    각 요소에는 입력된 범위에서 실행 될 수 있는 단항 functor 유형을 지정 합니다.

  • _Input_iterator2
    두 번째 입력된 반복기 유형을 지정 합니다.

  • _Binary_operator
    Pairwise 요소는 두 개의 원본 범위에서 실행 되는 이진 functor 유형을 지정 합니다.

  • _Partitioner

  • _First1
    위치에서 작동 하는 것을 첫 번째 또는 원본 범위에만 첫 번째 요소의 주소를 지정 하는 반복기 입력된 합니다.

  • _Last1
    위치 하나 과거 최종 요소에서 작동 하는 것을 첫 번째 또는 원본 범위에만 주소 입력된 반복기입니다.

  • _Result
    출력 반복기 위치 대상 범위의 첫 번째 요소의 주소를 지정 합니다.

  • _Unary_op
    원본 범위의 각 요소에 적용 되는 사용자 정의 된 단항 함수 개체입니다.

  • _Part
    Partitioner 개체에 대 한 참조입니다.인수 중 하나가 될 수 있습니다 constauto_partitioner&, conststatic_partitioner&, constsimple_partitioner& 또는 affinity_partitioner& 경우는 affinity_partitioner 개체를 사용 하 되, 알고리즘 재사용할 향후 루프에 대 한 상태를 저장할 수 있도록 참조는 l-value 비 const 참조 여야 합니다.

  • _First2
    작동 하는 것으로 두 번째 원본 범위의 첫 번째 요소 위치 주소 입력된 반복기입니다.

  • _Binary_op
    Pairwise, 정방향 순서로 두 원본 범위에 적용 되는 사용자 정의 이진 함수 개체입니다.

반환 값

지난 함수 개체로 변환 출력 요소를 받는 대상 범위의 마지막 요소 위치를 주소 지정 출력 반복기입니다.

설명

auto_partitioner 명시적 partitioner 인수가 없는 오버 로드를 사용 합니다.

임의 지원 하지 않는 반복기만 액세스에 대 한 auto_partitioner 지원 됩니다.

인수를 사용 하는 오버 로드 _Unary_op 단항 functor 입력 범위의 각 요소에 적용 하 여 입력된 범위의 출력 범위로 변환 합니다._Unary_op서명 함수 호출 연산자 지원 해야 operator()(T) 위치 T 반복 되는 값입니다.

인수를 사용 하는 오버 로드 _Binary_op 이진 functor 한 요소에 입력된 범위의 첫 번째 및 두 번째 입력된 범위에서 하나의 요소를 적용 하 여 입력된 범위의 두 출력 범위로 변환 합니다._Binary_op함수 호출 연산자 서명이 지원 해야 operator()(T, U) 위치 T, U 입력된 두 반복기의 값 형식입니다.

자세한 내용은 병렬 알고리즘를 참조하십시오.

요구 사항

헤더: ppl.h

네임 스페이스: 동시성

참고 항목

참조

동시성 네임스페이스