--- a/docs/Writerside/topics/map.h.md Sun Aug 17 23:05:16 2025 +0200 +++ b/docs/Writerside/topics/map.h.md Sun Aug 17 23:10:25 2025 +0200 @@ -356,14 +356,14 @@ The required behavior for the implementations is described in the following table. You can always look at the source code of the UCX hash map to get inspiration. -| Function | Description | -|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `clear` | Invoke [destructor functions](collection.h.md#destructor-functions) on all elements and remove them from the map. | -| `deallocate` | Invoke destructor functions on all elements and deallocate the entire map memory. | -| `put` | Store an element in the map. If an element is already stored, invoke the destructor functions on that element and replace it with the new element. Return non-zero when allocating memory fails. | -| `get` | Look up the specified key and return the associated value (or `NULL` if the key was not found). | -| `remove` | Remove an element from the map. If a target buffer is specified, copy the elements to that buffer. Otherwise, invoke the destructor functions for the element. If the key was not found in the map, return non-zero. | -| `iterator` | Return an iterator over the pairs, the keys, or the values, depending on the iterator type passed with the last argument. | +| Function | Description | +|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `clear` | Invoke [destructor functions](collection.h.md#destructor-functions) on all elements and remove them from the map. | +| `deallocate` | Invoke destructor functions on all elements and deallocate the entire map memory. | +| `put` | Store an element in the map. If an element is already stored, invoke the destructor functions on that element and replace it with the new element. When the value pointer is `NULL`, only allocate memory without copying an existing value. Return a pointer to the allocated memory, or `NULL` when allocation fails. | +| `get` | Look up the specified key and return the associated value (or `NULL` if the key was not found). | +| `remove` | Remove an element from the map. If a target buffer is specified, copy the elements to that buffer. Otherwise, invoke the destructor functions for the element. If the key was not found in the map, return non-zero. | +| `iterator` | Return an iterator over the pairs, the keys, or the values, depending on the iterator type passed with the last argument. | > In contrast to the list interface, there is no `cx_map_init()` function which automatically > configures a wrapping mechanism when `CX_STORE_POINTERS` is used.