Expand description
A simple object pool.
ObjPool<T>
is basically just a Vec<Option<T>>
, which allows you to:
- Insert an object (reuse an existing
None
element, or append to the end) and get anObjId
in return. - Remove object with a specified
ObjId
. - Access object with a specified
ObjId
. - Convert
ObjId
to index and back for specifiedObjPool
.
Limitations:
ObjId
is always 32-bit long.
Examples
Some data structures built using ObjPool<T>
: