STL にはdeque 実装、Boost deque 実装があります。しかし、どちらも STL 方式のシーケンス コンテナー (アロケーターによる動的割り当て) を使用しています。
信頼性が高く、高速で、静的に割り当てられた両端キューの実装を探しています。これは次のようになります。
template<typename T, unsigned int S>
class StaticDeque
{
T m_elements[S];
};
したがって、すべての要素が静的に割り当てられます。
注 1: 既に STL ベースのソリューション (ベクターとデキューにデータを静的に割り当てるカスタム アロケーターを使用) がありますが、より良いソリューション (実行時間の短縮) を探しています。
注 2: メモリ内の定義済み (高速アクセス) 領域でデータを処理するため、静的に割り当てられたメモリが必要です。したがって、オブジェクトは次のように宣言されます。#pragma DATA_SECTION("fast_memory")
StaticDeque<int, 10> payloads;