18.2.188. PMIx_Geometry_create

PMIx_Geometry_create — Allocate and initialize an array of pmix_geometry_t(5) structures.

18.2.188.1. SYNOPSIS

#include <pmix.h>

pmix_geometry_t* PMIx_Geometry_create(size_t n);

18.2.188.1.1. Python Syntax

No Python equivalent

18.2.188.2. INPUT PARAMETERS

18.2.188.3. DESCRIPTION

Allocate a contiguous array of n pmix_geometry_t structures on the heap and construct (initialize) each element as if by PMIx_Geometry_construct(3).

If n is zero, the function returns NULL without allocating. If the underlying allocation fails, NULL is returned.

18.2.188.4. RETURN VALUE

Returns a pointer to the newly allocated, constructed array of pmix_geometry_t structures, or NULL if n is zero or the allocation could not be satisfied.

18.2.188.5. NOTES

The returned array is owned by the caller and must be released with PMIx_Geometry_free(3), passing the same count n that was used to create it. PMIx_Geometry_free both destructs the contents of each element and frees the array storage itself.

18.2.188.6. EXAMPLES

Create and later free an array:

pmix_geometry_t *array;

array = PMIx_Geometry_create(4);
if (NULL == array) {
    /* handle allocation failure */
}

/* ... use the array ... */

PMIx_Geometry_free(array, 4);