|
@@ -41,6 +41,10 @@ public:
|
|
|
|
|
|
/* 设置队列大小 */
|
|
|
void setQueueSize(long size);
|
|
|
+ long QueueSize() { return m_capacity; }
|
|
|
+ /* 清空队列 */
|
|
|
+ void clearQueue();
|
|
|
+
|
|
|
/* 入队 */
|
|
|
bool enQueue(const T& data);
|
|
|
bool enQueue(T&& data);
|
|
@@ -129,6 +133,21 @@ void RingQueue<T>::setQueueSize(long size)
|
|
|
m_queue = new T[m_capacity];
|
|
|
}
|
|
|
|
|
|
+/* 清空队列 */
|
|
|
+template<typename T>
|
|
|
+void RingQueue<T>::clearQueue()
|
|
|
+{
|
|
|
+ m_mutex.lock();
|
|
|
+ if(m_queue != nullptr)
|
|
|
+ {
|
|
|
+ delete[] m_queue;
|
|
|
+ m_queue = nullptr;
|
|
|
+ }
|
|
|
+ m_front = -1;
|
|
|
+ m_rear = -1;
|
|
|
+ m_mutex.unlock();
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
/* 入队 */
|
|
|
template<typename T>
|