parallel_invoke 関数
パラメーターとして渡された関数オブジェクトを並列実行し、実行が完了するまでブロックします。 各関数オブジェクトは、ラムダ式、関数へのポインター、またはシグネチャ void operator()() を持つ関数呼び出し演算子をサポートするオブジェクトになります。
template <
typename _Function1,
typename _Function2
>
void parallel_invoke(
const _Function1& _Func1,
const _Function2& _Func2
);
template <
typename _Function1,
typename _Function2,
typename _Function3
>
void parallel_invoke(
const _Function1& _Func1,
const _Function2& _Func2,
const _Function3& _Func3
);
template <
typename _Function1,
typename _Function2,
typename _Function3,
typename _Function4
>
void parallel_invoke(
const _Function1& _Func1,
const _Function2& _Func2,
const _Function3& _Func3,
const _Function4& _Func4
);
template <
typename _Function1,
typename _Function2,
typename _Function3,
typename _Function4,
typename _Function5
>
void parallel_invoke(
const _Function1& _Func1,
const _Function2& _Func2,
const _Function3& _Func3,
const _Function4& _Func4,
const _Function5& _Func5
);
template <
typename _Function1,
typename _Function2,
typename _Function3,
typename _Function4,
typename _Function5,
typename _Function6
>
void parallel_invoke(
const _Function1& _Func1,
const _Function2& _Func2,
const _Function3& _Func3,
const _Function4& _Func4,
const _Function5& _Func5,
const _Function6& _Func6
);
template <
typename _Function1,
typename _Function2,
typename _Function3,
typename _Function4,
typename _Function5,
typename _Function6,
typename _Function7
>
void parallel_invoke(
const _Function1& _Func1,
const _Function2& _Func2,
const _Function3& _Func3,
const _Function4& _Func4,
const _Function5& _Func5,
const _Function6& _Func6,
const _Function7& _Func7
);
template <
typename _Function1,
typename _Function2,
typename _Function3,
typename _Function4,
typename _Function5,
typename _Function6,
typename _Function7,
typename _Function8
>
void parallel_invoke(
const _Function1& _Func1,
const _Function2& _Func2,
const _Function3& _Func3,
const _Function4& _Func4,
const _Function5& _Func5,
const _Function6& _Func6,
const _Function7& _Func7,
const _Function8& _Func8
);
template <
typename _Function1,
typename _Function2,
typename _Function3,
typename _Function4,
typename _Function5,
typename _Function6,
typename _Function7,
typename _Function8,
typename _Function9
>
void parallel_invoke(
const _Function1& _Func1,
const _Function2& _Func2,
const _Function3& _Func3,
const _Function4& _Func4,
const _Function5& _Func5,
const _Function6& _Func6,
const _Function7& _Func7,
const _Function8& _Func8,
const _Function9& _Func9
);
template <
typename _Function1,
typename _Function2,
typename _Function3,
typename _Function4,
typename _Function5,
typename _Function6,
typename _Function7,
typename _Function8,
typename _Function9,
typename _Function10
>
void parallel_invoke(
const _Function1& _Func1,
const _Function2& _Func2,
const _Function3& _Func3,
const _Function4& _Func4,
const _Function5& _Func5,
const _Function6& _Func6,
const _Function7& _Func7,
const _Function8& _Func8,
const _Function9& _Func9,
const _Function10& _Func10
);
パラメーター
_Function1
並列実行される最初の関数オブジェクトの型。_Function2
並列実行される 2 番目の関数オブジェクトの型。_Function3
並列実行される 3 番目の関数オブジェクトの型。_Function4
並列実行される 4 番目の関数オブジェクトの型。_Function5
並列実行される 5 番目の関数オブジェクトの型。_Function6
並列実行される 6 番目の関数オブジェクトの型。_Function7
並列実行される 7 番目の関数オブジェクトの型。_Function8
並列実行される 8 番目の関数オブジェクトの型。_Function9
並列実行される 9 番目の関数オブジェクトの型。_Function10
並列実行される 10 番目の関数オブジェクトの型。_Func1
並列実行される最初の関数オブジェクト。_Func2
並列実行される 2 番目の関数オブジェクト。_Func3
並列実行される 3 番目の関数オブジェクト。_Func4
並列実行される 4 番目の関数オブジェクト。_Func5
並列実行される 5 番目の関数オブジェクト。_Func6
並列実行される 6 番目の関数オブジェクト。_Func7
並列実行される 7 番目の関数オブジェクト。_Func8
並列実行される 8 番目の関数オブジェクト。_Func9
並列実行される 9 番目の関数オブジェクト。_Func10
並列実行される 10 番目の関数オブジェクト。
解説
パラメーターとして渡された 1 つ以上の関数オブジェクトは、呼び出し元コンテキストにおいてインラインで実行される場合があります。
この関数にパラメーターとして渡された 1 つ以上の関数オブジェクトが例外をスローした場合、ランタイムはこのような例外の 1 つを選択し、それを呼び出しから parallel_invoke に反映させます。
詳細については、「並列アルゴリズム」を参照してください。
必要条件
ヘッダー: ppl.h
名前空間: concurrency