18.2.192. PMIx_Topology_create
PMIx_Topology_create — Allocate and initialize an array of
pmix_topology_t(5) structures.
18.2.192.1. SYNOPSIS
#include <pmix.h>
pmix_topology_t* PMIx_Topology_create(size_t n);
18.2.192.1.1. Python Syntax
No Python equivalent
18.2.192.2. INPUT PARAMETERS
n: Number of pmix_topology_t(5) structures to allocate in the array.
18.2.192.3. DESCRIPTION
Allocate a contiguous array of n pmix_topology_t structures on the heap and construct (initialize) each
element as if by PMIx_Topology_construct(3).
If n is zero, the function returns NULL without allocating. If the
underlying allocation fails, NULL is returned.
18.2.192.4. RETURN VALUE
Returns a pointer to the newly allocated, constructed array of
pmix_topology_t structures, or NULL if n is zero or the allocation
could not be satisfied.
18.2.192.5. NOTES
The returned array is owned by the caller and must be released with
PMIx_Topology_free(3), passing the same count
n that was used to create it. PMIx_Topology_free both destructs the
contents of each element and frees the array storage itself.
18.2.192.6. EXAMPLES
Create and later free an array:
pmix_topology_t *array;
array = PMIx_Topology_create(2);
if (NULL == array) {
/* handle allocation failure */
}
/* ... use the array ... */
PMIx_Topology_free(array, 2);