26 lines
407 B
C++
26 lines
407 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
|