--- a/docs/Writerside/topics/mempool.h.md Fri May 23 13:36:11 2025 +0200 +++ b/docs/Writerside/topics/mempool.h.md Fri May 23 14:00:24 2025 +0200 @@ -125,9 +125,13 @@ In contrast to transferring an entire pool, if `obj` has a reference to `source->allocator`, it must be updated to `dest->allocator` manually. It is also possible to transfer registered memory from one pool to another, this way. -The functions returns zero when the transfer was successful and non-zero if a necessary memory allocation was not possible, -the `source` and `dest` pointers point to the same pool, or the pools have different type (simple, advanced, pure). -In case of an error, no memory is transferred and both pools are in a valid state. +The functions return zero when the transfer was successful, and non-zero under one of the following error conditions: +- a necessary memory allocation was not possible +- the `source` and `dest` pointers point to the same pool +- the pools have a different type (simple, advanced, pure) +- the pools have different base allocators (i.e. `cxDefaultAllocator` changed between creation of the pools) + +In case of an error, no memory is transferred and both pools remain unchanged and are in a valid state. ## Example