Upgrade ccapi to v6.12.0

This commit is contained in:
John Colvin committed 2025-02-23 15:33:55 +00:00
1 parent 8069cc893f
commit 90492733fd
109 files changed
+4172 -8930

No files matched your search

+12 -1
View File
@@ -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);