18.2.104. PMIx_Info_list_add_unique
PMIx_Info_list_add_unique — Append a key/value entry to an opaque
pmix_info_t(5) list only if the key is not already
present
18.2.104.1. SYNOPSIS
#include <pmix.h>
pmix_status_t PMIx_Info_list_add_unique(void *ptr,
const char *key,
const void *value,
pmix_data_type_t type,
bool overwrite);
18.2.104.1.1. Python Syntax
No Python equivalent
18.2.104.2. INPUT PARAMETERS
ptr: Opaque list handle returned by PMIx_Info_list_start(3).key: String key to be loaded. Must be no longer thanPMIX_MAX_KEYLEN.value: Pointer to the data value to be loaded.type: The pmix_data_type_t(5) of the provided value.overwrite: Iftrueand an entry with the same key already exists, its value is replaced with the provided one. Iffalse, an existing entry is left unchanged.
18.2.104.3. DESCRIPTION
Add a key/value entry to the list identified by ptr, enforcing key
uniqueness. The list is first scanned for an existing entry whose key matches
key:
If a match is found and
overwriteistrue, the existing value is destructed and replaced with a copy of the providedvalue/type. No new entry is appended.If a match is found and
overwriteisfalse, the list is left unchanged.If no match is found, a new entry is created from the provided
key,value, andtypeand appended to the end of the list.
As with PMIx_Info_list_add(3), the key and value are copied; the caller’s source data may be modified or freed once the function returns.
18.2.104.4. RETURN VALUE
Returns PMIX_SUCCESS when the entry was added, updated, or intentionally
left unchanged; or a negative PMIx error constant such as PMIX_ERR_NOMEM if
a new entry could not be allocated.