Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
queueEx.h@2:68ce6bdc0714, 2021-11-22 (annotated)
- Committer:
- masaaki_makabe
- Date:
- Mon Nov 22 06:53:43 2021 +0000
- Revision:
- 2:68ce6bdc0714
- Parent:
- 1:07cddbd29781
- Child:
- 3:3b438c482048
modified.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| masaaki_makabe | 1:07cddbd29781 | 1 | /** |
| masaaki_makabe | 1:07cddbd29781 | 2 | ****************************************************************************** |
| masaaki_makabe | 1:07cddbd29781 | 3 | * @file : queueEx.h |
| masaaki_makabe | 1:07cddbd29781 | 4 | * @brief : queue expansion |
| masaaki_makabe | 1:07cddbd29781 | 5 | ****************************************************************************** |
| masaaki_makabe | 1:07cddbd29781 | 6 | * @attention |
| masaaki_makabe | 1:07cddbd29781 | 7 | * |
| masaaki_makabe | 1:07cddbd29781 | 8 | ****************************************************************************** |
| masaaki_makabe | 1:07cddbd29781 | 9 | */ |
| masaaki_makabe | 1:07cddbd29781 | 10 | #ifndef QUEUEEX_h |
| masaaki_makabe | 1:07cddbd29781 | 11 | #define QUEUEEX_h |
| masaaki_makabe | 1:07cddbd29781 | 12 | |
| masaaki_makabe | 1:07cddbd29781 | 13 | #include "queue.h" |
| masaaki_makabe | 1:07cddbd29781 | 14 | |
| masaaki_makabe | 1:07cddbd29781 | 15 | class QueueEx : public Queue{ |
| masaaki_makabe | 1:07cddbd29781 | 16 | private: |
| masaaki_makabe | 1:07cddbd29781 | 17 | public: |
| masaaki_makabe | 1:07cddbd29781 | 18 | QueueEx(int iSize, int iCount) : Queue(iSize, iCount){ |
| masaaki_makabe | 1:07cddbd29781 | 19 | } |
| masaaki_makabe | 2:68ce6bdc0714 | 20 | bool PeekAll(char* pvItem){ |
| masaaki_makabe | 2:68ce6bdc0714 | 21 | unsigned char *p = m_pnRdIndex; |
| masaaki_makabe | 2:68ce6bdc0714 | 22 | int n = m_iLclCount; |
| masaaki_makabe | 2:68ce6bdc0714 | 23 | if (n > 0){ |
| masaaki_makabe | 2:68ce6bdc0714 | 24 | do { |
| masaaki_makabe | 2:68ce6bdc0714 | 25 | memcpy( pvItem, p, m_iSize ); |
| masaaki_makabe | 2:68ce6bdc0714 | 26 | pvItem += m_iSize; |
| masaaki_makabe | 2:68ce6bdc0714 | 27 | p += m_iSize; |
| masaaki_makabe | 2:68ce6bdc0714 | 28 | if ( p >= m_pnTail ) p = m_pnHead; |
| masaaki_makabe | 2:68ce6bdc0714 | 29 | } while(--n); |
| masaaki_makabe | 2:68ce6bdc0714 | 30 | return true; |
| masaaki_makabe | 2:68ce6bdc0714 | 31 | } |
| masaaki_makabe | 2:68ce6bdc0714 | 32 | return false; |
| masaaki_makabe | 2:68ce6bdc0714 | 33 | } |
| masaaki_makabe | 1:07cddbd29781 | 34 | bool Peek(int index, void* pvItem){ |
| masaaki_makabe | 1:07cddbd29781 | 35 | unsigned char *p = m_pnRdIndex; |
| masaaki_makabe | 1:07cddbd29781 | 36 | if (index < m_iLclCount){ |
| masaaki_makabe | 1:07cddbd29781 | 37 | for(int i = 0; i < index; i++){ |
| masaaki_makabe | 1:07cddbd29781 | 38 | p += m_iSize; |
| masaaki_makabe | 1:07cddbd29781 | 39 | if ( p >= m_pnTail ) p = m_pnHead; |
| masaaki_makabe | 1:07cddbd29781 | 40 | } |
| masaaki_makabe | 1:07cddbd29781 | 41 | memcpy( pvItem, p, m_iSize ); |
| masaaki_makabe | 1:07cddbd29781 | 42 | return true; |
| masaaki_makabe | 1:07cddbd29781 | 43 | } |
| masaaki_makabe | 1:07cddbd29781 | 44 | return false; |
| masaaki_makabe | 1:07cddbd29781 | 45 | } |
| masaaki_makabe | 1:07cddbd29781 | 46 | }; |
| masaaki_makabe | 1:07cddbd29781 | 47 | |
| masaaki_makabe | 1:07cddbd29781 | 48 | #endif/*QUEUEEX_h*/ |