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