A memory pool implementation with deallocation and index based access to the managed objects