ParallelScanBody

[req.parallel_scan]

Body タイプは、次の要件を満たす場合に ParallelScanBosy の要件を満たします:


ParallelScanBody の要件: 擬似署名、セマンティクス

void Body::operator()(const Range &r, pre_scan_tag)

範囲 r のサマリーを累積します。例えば、配列の合計を計算する場合、範囲 r のサマリーは r に対応する配列要素の合計です。

void Body::operator()(const Range &r, final_scan_tag)

r のスキャン結果とサマリーを計算します。

Body::Body(Body &b, split)

thisb のサマリーを別々に累積できるように b を分割します。

void Body::reverse_join(Body &b)

b によって累積されたサマリーを this によって累積されたサマリーにマージします。this は以前に b の分割コンストラクターによって作成されています。

void Body::assign(Body &b)

thisb のサマリーを割り当てます。

参照: