1 #ifndef INC_CircularQueue_hpp__
2 #define INC_CircularQueue_hpp__
16 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
21 #define OFFSET_MAX_RESIZE 5000
45 return storage[idx+m_offset];
51 storage.erase( storage.begin(), storage.begin() + m_offset + 1 );
73 storage.erase( storage.begin(), storage.begin() + m_offset + nb );
85 return storage.size() - m_offset;
96 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
#define OFFSET_MAX_RESIZE
Definition: CircularQueue.hpp:21
Definition: CircularQueue.hpp:24
T elementAt(size_t idx) const
Definition: CircularQueue.hpp:43
void removeItems(size_t nb)
Definition: CircularQueue.hpp:57
void removeFirst()
Definition: CircularQueue.hpp:47
CircularQueue(const CircularQueue &)
void clear(void)
Clear the queue.
Definition: CircularQueue.hpp:36
const CircularQueue & operator=(const CircularQueue &)
void append(const T &t)
Definition: CircularQueue.hpp:79
~CircularQueue()
Definition: CircularQueue.hpp:31
std ::vector< T > storage
Definition: CircularQueue.hpp:89
size_t entries() const
Definition: CircularQueue.hpp:83
size_t m_offset
Definition: CircularQueue.hpp:90
CircularQueue()
Definition: CircularQueue.hpp:26
#define ANTLR_USE_NAMESPACE(_x_)
Definition: config.hpp:18
#define ANTLR_API
Definition: config.hpp:22
Definition: ANTLRException.hpp:15