Basic preallocated pool of a fixed number of value type items, all items are stored in one dynamic array. Uses malloc() instead of D memory managed allocation for two reasons: 1. The exact size is specified at instantiation so allocating extra space as the D memory manager does is not desired. 2. The elements do not contain references to D memory managed objects so they can be invisible to the GC.
Mapping from key to the time-to-index mapping of an item in the cache. Limits the number of available mappings to a fixed value and preallocates all bucket elements in an array buffer.
Mapping from access time to the index of an item in the cache items array. Limits the number of available mappings to a fixed value and preallocates all nodes in an array buffer.