KyosoTechnology / Queue
Committer:
masaaki_makabe
Date:
Mon Nov 22 00:41:30 2021 +0000
Revision:
1:07cddbd29781
Child:
2:68ce6bdc0714
modified

Who changed what in which revision?

UserRevisionLine numberNew 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 1:07cddbd29781 20 bool Peek(int index, void* pvItem){
masaaki_makabe 1:07cddbd29781 21 unsigned char *p = m_pnRdIndex;
masaaki_makabe 1:07cddbd29781 22 if (index < m_iLclCount){
masaaki_makabe 1:07cddbd29781 23 for(int i = 0; i < index; i++){
masaaki_makabe 1:07cddbd29781 24 p += m_iSize;
masaaki_makabe 1:07cddbd29781 25 if ( p >= m_pnTail ) p = m_pnHead;
masaaki_makabe 1:07cddbd29781 26 }
masaaki_makabe 1:07cddbd29781 27 memcpy( pvItem, p, m_iSize );
masaaki_makabe 1:07cddbd29781 28 return true;
masaaki_makabe 1:07cddbd29781 29 }
masaaki_makabe 1:07cddbd29781 30 return false;
masaaki_makabe 1:07cddbd29781 31 }
masaaki_makabe 1:07cddbd29781 32 };
masaaki_makabe 1:07cddbd29781 33
masaaki_makabe 1:07cddbd29781 34 #endif/*QUEUEEX_h*/