events
はテンプレートポリシーから構築されたstlコンテナで、基本型はインバウンドとアウトバウンドの型から構成されます。ラムダのメンバー関数上のテンプレートは、自動で推測されます。
イベントを処理した後、ランタイムパラメータに基づいて計算を行う必要があります。例は次のとおりです:
いくつかの方法があります。同じ基本タイプを返すかもしれないし、返さないメソッドもあります。
cool::transform(events.deltas(), [](const auto ¤t) { return current.other(); });
ので、私は宣言することができ、これをテンプレートに方法はあります:
cooler::transform<method>(events.deltas())
ボーナス質問:私たちは、この方法は、実際に基になる型に存在する場合にのみコードを有効にするには、テンプレートを使用することはできますか?
ありがとう、私はそれを見るまでオート&忘れています。最初の質問では、ラムダを呼び出し可能なものとして宣言し、その情報を使用する際の問題は何ですか? method()を基底型のクラス定義の外に移動し、代わりにインラインメソッドとして宣言した場合はどうなりますか? – William