Use std::size_t in ID

This commit is contained in:
Andreas Fabri 2025-03-03 12:20:14 +00:00
parent 6eaeb7a148
commit cd30d109fe
1 changed files with 1 additions and 4 deletions

View File

@ -29,14 +29,11 @@ namespace internal {
template <typename T>
struct ID {
public:
using IDType = uint32_t;
using IDType = std::size_t;
static constexpr IDType invalid_value = (std::numeric_limits<IDType>::max)();
ID(IDType id = invalid_value) : id(id) {}
ID(int sid) : id(static_cast<IDType>(sid)) { assert(sid < static_cast<int>(invalid_value)); }
ID(std::size_t sid) : id(static_cast<IDType>(sid)) { assert(sid < static_cast<std::size_t>(invalid_value)); }
operator IDType() const { return id; }
IDType operator+(ID<T> other) const { return id + other.id; }
IDType operator+(int offset) const { return id + offset; }