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 an ObjId in return.
  • Remove object with a specified ObjId.
  • Access object with a specified ObjId.
  • Convert ObjId to index and back for specified ObjPool.

Limitations:

  • ObjId is always 32-bit long.

Examples

Some data structures built using ObjPool<T>:

Structs

An iterator over the occupied slots in a ObjPool.

An iterator over references to the occupied slots in a ObjPool.

An iterator over mutable references to the occupied slots in a Arena.

An id of the object in an ObjPool.

An object pool.