と のような関数を作成したいとしますが、processResult
の各呼び出しごとに 0、1、2、または n 回呼び出す必要がsendResult
あるため、それらをチェーンすることはできません。C++11 でこれを行う適切な方法は何ですか?processResult
sendResult
processResult
私は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)