#ifndef QUEUE_CTRL_CPP #define QUEUE_CTRL_CPP #include "queue_ctrl.h" #include #include #include constexpr int queue_limit = 1000; std::array queue; int queue_size = 0; int queue_start = 0; int queue_end = 0; int queue_push(const std::string& str) { if (queue_size == queue_limit) { return 1; // Queue full } else { queue[queue_end] = str; queue_end = (queue_end + 1) % queue_limit; queue_size++; return 0; // Success } } std::string queue_pop() { if (queue_size == 0) { return "nan"; // Queue empty } else { std::string ret = queue[queue_end-1]; queue_end = (queue_end - 1) % queue_limit; queue_size--; return ret; // Success } } int get_queue_size() { return queue_size; } #endif // !QUEUE_CTRL_CPP