Существует ли идиоматический способ C++ резервировать и повторно использовать идентификаторы, уникальность которых гарантирована? Мои требования:
- Предполагая, что существует идентификатор, который в настоящее время не зарезервирован, reserve_id(void) возвращает мне этот идентификатор .
- В непрерывной последовательности вызовов Reserve_id() ни один идентификатор не будет возвращен дважды
- Существует функция recycle(id_type), которая возвращает идентификатор доступного пула.
У меня, например, есть видел Boost::Uuid, но а) я не вижу документации, подтверждающей гарантированную уникальность двух UUID, и б) на данный момент я ограничен более ранней версией Boost (1.40). Я мог бы настаивать на обновлении, если бы это идеально подходило для этой задачи.
Подробнее здесь:
https://stackoverflow.com/questions/566 ... fiers-in-c