ストリーミング データに対して特定の操作を実行するプログラムを設計しています。操作は、実行時に提供される RPN (逆ポーランド記法) 式によって定義されます。データは、一度に 1 つの固定サイズの部分で、ファイル ソースからストリーミングされています。操作は、データの現在入力されている部分の一部を参照しますdata[1]
。プログラムは、同じ操作をすべての入力部分に適用します (そして結果をストリーミングします)。
数値と算術演算を操作して結果を返す RPN パーサーを実装するのは非常に簡単です。ただし、そのような実装を使用すると、データ部分ごとに RPN を再解析することになります。
私が実装したいのは、プログラムが入力データを提供する(または入力を埋める)、オブジェクトのoperator()
結果を取得して出力します。
そのようなクラス (a ) をどのように実装callable expression
し、「最新でない」C++ (noC++11
またはC++14
) を使用してそのようなオブジェクトを構築しますか?