と のような関数を作成したいとしますが、processResultの各呼び出しごとに 0、1、2、または n 回呼び出す必要がsendResultあるため、それらをチェーンすることはできません。C++11 でこれを行う適切な方法は何ですか?processResultsendResultprocessResult
私は2つの解決策を考えました:
1)最初の関数にstd::functionパラメーターを与えて(そしてそれに割り当てprocessResultて)、必要なときに呼び出すことができるようにします。
2)(これは好きではありません-複雑すぎるようです)スレッドセーフキュー、関数を2つのスレッドに入れます...
@リクエストの例:
input 1,2,3
calls of functions:
processResult(1)
//nothing
processResult(2)
//calls:
sendResult(10)
sendResult(20)
sendResult(50)
processREsult(3)
//calls
sendREsult(55)