firmware/src/PointerQueue.h

22 lines
474 B
C
Raw Normal View History

#pragma once
#include "TypedQueue.h"
/**
* A wrapper for freertos queues that assumes each element is a pointer
*/
template <class T> class PointerQueue: public TypedQueue<T *> {
public:
PointerQueue(int maxElements) : TypedQueue<T *>(maxElements) {
}
// preturns a ptr or null if the queue was empty
T *dequeuePtr(TickType_t maxWait = portMAX_DELAY) {
T *p;
return this->dequeue(&p, maxWait) == pdTRUE ? p : NULL;
}
};