Bladeren bron

V0.4.10

1、修改了部分环形队列的问题
Apple 4 maanden geleden
bovenliggende
commit
f891c38d01
1 gewijzigde bestanden met toevoegingen van 31 en 32 verwijderingen
  1. 31 32
      common/RingQueue/RingQueue.hpp

+ 31 - 32
common/RingQueue/RingQueue.hpp

@@ -41,12 +41,6 @@ public:
     RingQueue(long size);
     ~RingQueue();
 
-    /* 设置队列大小 */
-    void setQueueSize(long size);
-    long QueueSize() { return m_capacity; }
-    /* 清空队列 */
-    void clearQueue();
-
     /* 入队,默认是阻塞入队 */
     void push(const T& value);
     void push(T&& value);
@@ -69,14 +63,18 @@ public:
     // T&& front_pop_rvalue();
     bool front_pop_NoBlock(T& t);
     
+    /* 设置队列大小 */
+    void setQueueCapacity(long size);
     /* 获取队列大小,队列中有效值的大小 */
-    long getQueueSize();
+    long QueueSize();
     /* 获取队列容量 */
-    long getQueueCapacity();
+    long QueueCapacity();
     /* 判断队列是否为空 */
     bool isEmpty();
     /* 判断队列是否已满 */
     bool isFull();
+    /* 清空队列 */
+    void clearQueue();
     /* 退出所有可能的阻塞函数 */
     void exit();
 
@@ -121,28 +119,6 @@ RingQueue<T>::~RingQueue()
     }
 }
 
-/**
- * @brief 设置队列大小
- *        注意:使用这个设置,如果队列中存储的是指针,指针的内存区域需要在调用这个函数之前释放,不然可能会造成
- *              内存泄漏
- * 
- * @tparam T 
- * @param size 
- */
-template<typename T>
-void RingQueue<T>::setQueueSize(long size)
-{
-    if(m_queue != nullptr)
-    {
-        delete[] m_queue;
-        m_queue = nullptr;
-    }
-
-    m_capacity = size;
-    m_front = -1;
-    m_rear = -1;
-    m_queue = new T[m_capacity];
-}
 
 /* 清空队列 */
 template<typename T>
@@ -385,9 +361,32 @@ bool RingQueue<T>::front_pop_NoBlock(T& t)
 }
 
 
+/**
+ * @brief 设置队列大小
+ *        注意:使用这个设置,如果队列中存储的是指针,指针的内存区域需要在调用这个函数之前释放,不然可能会造成
+ *              内存泄漏
+ * 
+ * @tparam T 
+ * @param size 
+ */
+template<typename T>
+void RingQueue<T>::setQueueCapacity(long size)
+{
+    if(m_queue != nullptr)
+    {
+        delete[] m_queue;
+        m_queue = nullptr;
+    }
+
+    m_capacity = size;
+    m_front = -1;
+    m_rear = -1;
+    m_queue = new T[m_capacity];
+}
+
 /* 获取队列中有效值的大小 */
 template<typename T>
-long RingQueue<T>::getQueueSize()
+long RingQueue<T>::QueueSize()
 {
     std::lock_guard<std::mutex> lock(m_mutex);
     if(m_rear == -1)
@@ -408,7 +407,7 @@ long RingQueue<T>::getQueueSize()
 
 /* 获取队列容量 */
 template<typename T>
-long RingQueue<T>::getQueueCapacity()
+long RingQueue<T>::QueueCapacity()
 {
     std::lock_guard<std::mutex> lock(m_mutex);
     return m_capacity;