Upgrade ccapi to v6.12.0
This commit is contained in:
1 parent
8069cc893f
commit
90492733fd
109 files changed
+4172
-8930
No files matched your search
@@ -6,15 +6,26 @@
|
||||
|
||||
#include "ccapi_cpp/ccapi_logger.h"
|
||||
namespace ccapi {
|
||||
template <class T>
|
||||
/**
|
||||
* This class represents a generic FIFO queue.
|
||||
*/
|
||||
template <class T>
|
||||
class Queue {
|
||||
public:
|
||||
std::string EXCEPTION_QUEUE_FULL = "queue is full";
|
||||
std::string EXCEPTION_QUEUE_EMPTY = "queue is empty";
|
||||
explicit Queue(const size_t maxSize = 0) : maxSize(maxSize) {}
|
||||
void pushBack(const T& t) {
|
||||
#ifndef CCAPI_USE_SINGLE_THREAD
|
||||
std::lock_guard<std::mutex> lock(this->m);
|
||||
#endif
|
||||
if (this->maxSize <= 0 || this->queue.size() < this->maxSize) {
|
||||
CCAPI_LOGGER_TRACE("this->queue.size() = " + size_tToString(this->queue.size()));
|
||||
this->queue.push_back(t);
|
||||
} else {
|
||||
throw std::runtime_error(EXCEPTION_QUEUE_FULL);
|
||||
}
|
||||
}
|
||||
void pushBack(T&& t) {
|
||||
#ifndef CCAPI_USE_SINGLE_THREAD
|
||||
std::lock_guard<std::mutex> lock(this->m);
|
||||
|
||||
Reference in new issue
Block a user