22#ifndef ULTIMA8_MISC_IDMAN_H
23#define ULTIMA8_MISC_IDMAN_H
25#include "common/array.h"
63 idMan(uint16 begin, uint16 max_end, uint16 startcount = 0);
68 return _first == 0 && _end >= _maxEnd;
88 return id >= _begin &&
id <= _end && _ids[id] == 0 &&
id != _last;
void clearAll(uint16 new_max=0)
clear all IDs, reset size to the startcount, and set max_end to new_max
bool isFull() const
check if this idMan is full
Definition: id_man.h:67
bool isIDUsed(uint16 id) const
check if an ID is in use
Definition: id_man.h:87
bool reserveID(uint16 id)
void clearID(uint16 id)
release an id
idMan(uint16 begin, uint16 max_end, uint16 startcount=0)
void setNewMax(uint16 maxEnd)
Definition: id_man.h:96
Definition: algorithm.h:29