COMPASSi/trunk/code/inc/Application/FIFOContainer.h

45 lines
989 B
C++

#ifndef FIFOCONTAINER_H
#define FIFOCONTAINER_H
#include <deque>
#include <QString>
#include <QSettings>
#include "nlohmann/json.hpp"
using Json = nlohmann::json;
struct QStringPair {
QString first; // 第一个 QString
QString second; // 第二个 QString
// 构造函数
QStringPair(const QString& f, const QString& s) : first(f), second(s) {}
};
class FIFOContainer
{
public:
// 构造函数,设置最大记录数
FIFOContainer(size_t max_size);
// 添加文件路径
void addRecord(const QString& filePath);
// 显示当前容器中的所有路径
void displayRecords() const;
// 保存路径到 .ini 文件
void saveToFile(const QString& fileName) const;
// 从 .ini 文件加载路径
void loadFromFile(const QString& fileName);
Json toJson() const;
private:
std::deque<QStringPair> m_queue; // 使用 deque 实现 FIFO
size_t m_max_size; // 最大记录数
};
#endif // FIFOCONTAINER_H