Browse Source

V0.4.7
1、修改了环形队列,添加了获取大小的函数

Apple 4 months ago
parent
commit
9f2afe9793
1 changed files with 19 additions and 0 deletions
  1. 19 0
      common/RingQueue/RingQueue.hpp

+ 19 - 0
common/RingQueue/RingQueue.hpp

@@ -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>