| 355 * The @p key is always copied. |
355 * The @p key is always copied. |
| 356 * |
356 * |
| 357 * @param map the map |
357 * @param map the map |
| 358 * @param key the key |
358 * @param key the key |
| 359 * @return the pointer to the allocated memory or @c NULL if allocation fails |
359 * @return the pointer to the allocated memory or @c NULL if allocation fails |
| 360 * @retval zero success |
|
| 361 * @retval non-zero value on memory allocation failure |
|
| 362 * @see cxMapEmplace() |
360 * @see cxMapEmplace() |
| 363 */ |
361 */ |
| 364 cx_attr_nonnull |
362 cx_attr_nonnull |
| 365 CX_EXPORT void *cx_map_emplace(CxMap *map, CxHashKey key); |
363 CX_EXPORT void *cx_map_emplace(CxMap *map, CxHashKey key); |
| 366 |
364 |
| 377 * The @p key is always copied. |
375 * The @p key is always copied. |
| 378 * |
376 * |
| 379 * @param map (@c CxMap*) the map |
377 * @param map (@c CxMap*) the map |
| 380 * @param key (any supported key type) the key |
378 * @param key (any supported key type) the key |
| 381 * @return the pointer to the allocated memory or @c NULL if allocation fails |
379 * @return the pointer to the allocated memory or @c NULL if allocation fails |
| 382 * @retval zero success |
|
| 383 * @retval non-zero value on memory allocation failure |
|
| 384 * @see CX_HASH_KEY() |
380 * @see CX_HASH_KEY() |
| 385 */ |
381 */ |
| 386 #define cxMapEmplace(map, key) cx_map_emplace(map, CX_HASH_KEY(key)) |
382 #define cxMapEmplace(map, key) cx_map_emplace(map, CX_HASH_KEY(key)) |
| 387 |
383 |
| 388 /** |
384 /** |