1
私はParallel Pattern Libraryを使用しています。結合可能なクラスは、openMPのreduce節の役割を果たし、並列計算の結果をマージすることを可能にします。C++ PPLパラレル作業 - ファンクションmaxim(縮退クラス 'combinable')
.combine(max())はありますか(btw、結合で許可された操作でいくつかの参照をポイントできますか、見つからなかったでしょうか?
ありがとうございます。
combineable<T> max;
// .. do processing
max.combine(std::max<T>);
あなたはすべての公式を見つけることができます:
しかし、私はここでなぜmaxcombine(std :: max())ではなく、 'max.combine(std :: max );'(これはコンパイルしています) ; 'と書かれていますが、docではplusの構文は' .combine(プラス()) 'です(それをコンパイルしています)? –
octoback
@dlib 'std :: max'は関数述語なので、関数の名前を指定するだけです。中括弧は必要ありません。 'std :: plus 'はオーバーロードされた 'operator()'を持つクラスです。あなたが 'std :: plus ()'と言うときにしていることは、その型の一時クラスを作成していることです() 'は結合によって使用されます。 –
inf