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@3:3b438c482048, 2021-11-22 (annotated)
- Committer:
- masaaki_makabe
- Date:
- Mon Nov 22 08:15:36 2021 +0000
- Revision:
- 3:3b438c482048
- Parent:
- 2:68ce6bdc0714
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 | 3:3b438c482048 | 20 | bool PeekAll(void* pvItem){ |
| masaaki_makabe | 3:3b438c482048 | 21 | unsigned char *pv = (unsigned char*)pvItem; |
| masaaki_makabe | 2:68ce6bdc0714 | 22 | unsigned char *p = m_pnRdIndex; |
| masaaki_makabe | 2:68ce6bdc0714 | 23 | int n = m_iLclCount; |
| masaaki_makabe | 2:68ce6bdc0714 | 24 | if (n > 0){ |
| masaaki_makabe | 2:68ce6bdc0714 | 25 | do { |
| masaaki_makabe | 3:3b438c482048 | 26 | memcpy( pv, p, m_iSize ); |
| masaaki_makabe | 3:3b438c482048 | 27 | pv += m_iSize; |
| masaaki_makabe | 2:68ce6bdc0714 | 28 | p += m_iSize; |
| masaaki_makabe | 2:68ce6bdc0714 | 29 | if ( p >= m_pnTail ) p = m_pnHead; |
| masaaki_makabe | 2:68ce6bdc0714 | 30 | } while(--n); |
| masaaki_makabe | 2:68ce6bdc0714 | 31 | return true; |
| masaaki_makabe | 2:68ce6bdc0714 | 32 | } |
| masaaki_makabe | 2:68ce6bdc0714 | 33 | return false; |
| masaaki_makabe | 2:68ce6bdc0714 | 34 | } |
| masaaki_makabe | 1:07cddbd29781 | 35 | bool Peek(int index, void* pvItem){ |
| masaaki_makabe | 1:07cddbd29781 | 36 | unsigned char *p = m_pnRdIndex; |
| masaaki_makabe | 1:07cddbd29781 | 37 | if (index < m_iLclCount){ |
| masaaki_makabe | 1:07cddbd29781 | 38 | for(int i = 0; i < index; i++){ |
| masaaki_makabe | 1:07cddbd29781 | 39 | p += m_iSize; |
| masaaki_makabe | 1:07cddbd29781 | 40 | if ( p >= m_pnTail ) p = m_pnHead; |
| masaaki_makabe | 1:07cddbd29781 | 41 | } |
| masaaki_makabe | 1:07cddbd29781 | 42 | memcpy( pvItem, p, m_iSize ); |
| masaaki_makabe | 1:07cddbd29781 | 43 | return true; |
| masaaki_makabe | 1:07cddbd29781 | 44 | } |
| masaaki_makabe | 1:07cddbd29781 | 45 | return false; |
| masaaki_makabe | 1:07cddbd29781 | 46 | } |
| masaaki_makabe | 1:07cddbd29781 | 47 | }; |
| masaaki_makabe | 1:07cddbd29781 | 48 | |
| masaaki_makabe | 1:07cddbd29781 | 49 | #endif/*QUEUEEX_h*/ |