boost::circular_buffer は、たとえばサイズ 5 の固定長バッファを提供できません。
タイムスタンプ付きのリアルタイム データ ストリームがあることをイメージします。過去 5 分間のすべての要素のバッファを保持したいと考えています。
単純に、std::list のラッパーを作成できます。新しいデータ ポイント D が着信するたびに、push_back(D) してから、5 分以上前のすべてのデータ ポイントを pop_front() に while ループします。
このような設計の問題点は、すべてのポイントに対して新しいインスタンスを作成する必要があることです。これは時間の無駄に思えます (これは非常に頻繁に使用されるオブジェクトです)。
ここの誰かがよりエレガントなソリューションを持っていますか?
ありがとう!