18.2.147. PMIx_Proc_create
PMIx_Proc_create — Allocate and initialize an array of
pmix_proc_t(5) structures.
18.2.147.1. SYNOPSIS
#include <pmix.h>
pmix_proc_t* PMIx_Proc_create(size_t n);
18.2.147.1.1. Python Syntax
No Python equivalent
18.2.147.2. INPUT PARAMETERS
n: Number of pmix_proc_t(5) structures to allocate.
18.2.147.3. DESCRIPTION
Allocate a contiguous array of n pmix_proc_t
structures on the heap and construct each element — zeroing the nspace
field and setting rank to PMIX_RANK_UNDEF — exactly as
PMIx_Proc_construct(3) would.
The returned array is owned by the caller and must be released with PMIx_Proc_free(3), which destructs each element and frees the underlying storage.
18.2.147.4. RETURN VALUE
Returns a pointer to the newly allocated array of pmix_proc_t structures, or NULL if n is zero or the allocation
fails.
18.2.147.5. NOTES
PMIx_Proc_create is an OpenPMIx convenience routine. The corresponding
PMIX_PROC_CREATE macro assigns the returned pointer to its first argument
and is implemented as a call to this function.
18.2.147.6. EXAMPLES
Allocate an array of proc structures and release it when done:
pmix_proc_t *procs;
size_t nprocs = 4;
procs = PMIx_Proc_create(nprocs);
/* ... populate and use the array ... */
PMIx_Proc_free(procs, nprocs);