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
- Committer:
- masaaki_makabe
- Date:
- 2021-11-22
- Revision:
- 2:68ce6bdc0714
- Parent:
- 1:07cddbd29781
- Child:
- 3:3b438c482048
File content as of revision 2:68ce6bdc0714:
/**
******************************************************************************
* @file : queueEx.h
* @brief : queue expansion
******************************************************************************
* @attention
*
******************************************************************************
*/
#ifndef QUEUEEX_h
#define QUEUEEX_h
#include "queue.h"
class QueueEx : public Queue{
private:
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){
for(int i = 0; i < index; i++){
p += m_iSize;
if ( p >= m_pnTail ) p = m_pnHead;
}
memcpy( pvItem, p, m_iSize );
return true;
}
return false;
}
};
#endif/*QUEUEEX_h*/