DPS/DataPlatform/IDGenerator.h

26 lines
410 B
C++

#ifndef IDGENERATOR_H
#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