DPS/DataPlatform/IDGenerator.h

26 lines
407 B
C
Raw Normal View History

2025-06-23 18:01:09 +08:00
#ifndef IDGENERATOR_H
2025-06-23 10:41:33 +08:00
#define IDGENERATOR_H
#include <QMap>
#include <QByteArray>
class IDGenerator
{
public:
qint64 new_id();
void recylce_id(qint64 id);
void use_id(qint64 id);
qint64 next_id();
QByteArray to_bytes() const;
void from_bytes(const QByteArray& bytes);
private:
qint64 m_id = 1;
QMap<qint64, qint64> m_recycle_id;
QMap<qint64, qint64> m_use_id;
};
#endif