KyosoTechnology / Queue
Revision:
2:68ce6bdc0714
Parent:
1:07cddbd29781
Child:
3:3b438c482048
diff -r 07cddbd29781 -r 68ce6bdc0714 queueEx.h
--- a/queueEx.h	Mon Nov 22 00:41:30 2021 +0000
+++ b/queueEx.h	Mon Nov 22 06:53:43 2021 +0000
@@ -17,6 +17,20 @@
 public:
     QueueEx(int iSize, int iCount) : Queue(iSize, iCount){
     }
+    bool PeekAll(char* pvItem){
+        unsigned char *p = m_pnRdIndex;
+        int n = m_iLclCount;
+        if (n > 0){
+            do {
+                memcpy( pvItem, p, m_iSize );
+                pvItem += m_iSize;
+                p += m_iSize;
+                if ( p >= m_pnTail ) p = m_pnHead;
+            } while(--n);
+            return true;
+        }
+        return false;
+    }
     bool Peek(int index, void* pvItem){
         unsigned char *p = m_pnRdIndex;
         if (index < m_iLclCount){