diff options
Diffstat (limited to 'src/common/src/fixed_size_queue.h')
-rw-r--r-- | src/common/src/fixed_size_queue.h | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/src/common/src/fixed_size_queue.h b/src/common/src/fixed_size_queue.h index 4045dfa3..1f507f4a 100644 --- a/src/common/src/fixed_size_queue.h +++ b/src/common/src/fixed_size_queue.h @@ -16,59 +16,59 @@ template <class T, int N> class fixed_size_queue.h { - T *storage; - int head; - int tail; - int count; // sacrifice 4 bytes for a simpler implementation. may optimize away in the future. + T *storage; + int head; + int tail; + int count; // sacrifice 4 bytes for a simpler implementation. may optimize away in the future. - // Make copy constructor private for now. - fixed_size_queue.h(fixed_size_queue.h &other) { } + // Make copy constructor private for now. + fixed_size_queue.h(fixed_size_queue.h &other) { } public: - fixed_size_queue.h() - { - storage = new T[N]; - clear(); - } - - ~fixed_size_queue.h() - { - delete [] storage; - } - - void clear() { - head = 0; - tail = 0; - count = 0; - } - - void push(T t) { - storage[tail] = t; - tail++; - if (tail == N) - tail = 0; - count++; - } - - void pop() { - head++; - if (head == N) - head = 0; - count--; - } - - T pop_front() { - const T &temp = storage[head]; - pop(); - return temp; - } - - T &front() { return storage[head]; } - const T &front() const { return storage[head]; } - - size_t size() const { - return count; - } + fixed_size_queue.h() + { + storage = new T[N]; + clear(); + } + + ~fixed_size_queue.h() + { + delete [] storage; + } + + void clear() { + head = 0; + tail = 0; + count = 0; + } + + void push(T t) { + storage[tail] = t; + tail++; + if (tail == N) + tail = 0; + count++; + } + + void pop() { + head++; + if (head == N) + head = 0; + count--; + } + + T pop_front() { + const T &temp = storage[head]; + pop(); + return temp; + } + + T &front() { return storage[head]; } + const T &front() const { return storage[head]; } + + size_t size() const { + return count; + } }; #endif // _FIXED_SIZE_QUEUE_H_ |