FixedQueue
固定長キュー
std::queueは、ブロック単位でのメモリ確保を行い動的にキューのサイズを拡張していきますが、本クラスではメモリサイズを抑制し固定長のキューを実装します。
template<typename T>
class FixedQueue : public std::queue<T> { ... };
本クラスはstd::queue
を継承しています。
バッファのブロックサイズ
GCCの場合はバッファのブロックサイズを定義することができます。
本ライブラリでの利用を想定し以下のように64バイトにしています。
#if __GNUC__
#define _GLIBCXX_DEQUE_BUF_SIZE 64
// smaller chunk for deque in GCC, the dafalt size
// 512bytes are too big for embedded systems.
#endif
#include <deque>
#include <queue>
メソッド
FixedQueue() - コンストラクタ
FixedQueue(std::size_t size)
size
を最大値としてキューを生成します。
push()
bool push(T value)
キューに要素を追加します。キューが一杯になると何もせずfalse
を返します。
pop()
void pop()
キューから要素を削除します。
front()
T& std::queue<T>::front()
要素にアクセスします。
empty()
bool std::queue<T>::empty()
キューが空の場合true
を返します。
最終更新