18.2.196. PMIx_Device_distance_create

PMIx_Device_distance_create — Allocate and initialize an array of pmix_device_distance_t(5) structures.

18.2.196.1. SYNOPSIS

#include <pmix.h>

pmix_device_distance_t* PMIx_Device_distance_create(size_t n);

18.2.196.1.1. Python Syntax

No Python equivalent

18.2.196.2. INPUT PARAMETERS

18.2.196.3. DESCRIPTION

Allocate a contiguous array of n pmix_device_distance_t structures on the heap and construct each element, as though PMIx_Device_distance_construct(3) had been called on every member (uuid and osname set to NULL, type set to PMIX_DEVTYPE_UNKNOWN, and both mindist and maxdist set to UINT16_MAX).

The returned array is owned by the caller and must eventually be released with PMIx_Device_distance_free(3), which destructs the contents of each element and frees the array storage.

18.2.196.4. RETURN VALUE

Returns a pointer to the newly allocated array of pmix_device_distance_t structures, or NULL if n is zero or the allocation fails.

18.2.196.5. EXAMPLES

Create and later release an array of device-distance structures:

pmix_device_distance_t *dist;

dist = PMIx_Device_distance_create(4);
if (NULL == dist) {
    /* handle allocation failure */
}

/* ... populate and use the array ... */

PMIx_Device_distance_free(dist, 4);