* The pool will allocate chunks of at least @elts_per_chunk elements.
* Higher numbers lead to better allocation times but also to bigger
* unused memory blocks. Call @ep_delete() to free all pool's resources.
+ *
+ * Element pools can be treated as <<trans:respools,resources>>, see <<trans:res_eltpool()>>.
**/
struct eltpool *ep_new(uns elt_size, uns elts_per_chunk);
* @chunk_size must be in the interval `[1, UINT_MAX / 2]`.
* It will allocate memory by this large chunks and take
* memory to satisfy requests from them.
+ *
+ * Memory pools can be treated as <<trans:respools,resources>>, see <<trans:res_mempool()>>.
**/
void mp_init(struct mempool *pool, uns chunk_size);
* See @mp_init() for @chunk_size limitations.
*
* The new mempool structure is allocated on the new mempool.
+ *
+ * Memory pools can be treated as <<trans:respools,resources>>, see <<trans:res_mempool()>>.
**/
struct mempool *mp_new(uns chunk_size);