18.2.176. PMIx_Byte_object_destruct

PMIx_Byte_object_destruct — Release the payload of a pmix_byte_object_t(5) structure.

18.2.176.1. SYNOPSIS

#include <pmix.h>

void PMIx_Byte_object_destruct(pmix_byte_object_t *g);

18.2.176.1.1. Python Syntax

No Python equivalent

18.2.176.2. INPUT PARAMETERS

18.2.176.3. DESCRIPTION

Release the payload held by a pmix_byte_object_t. If the bytes pointer is non-NULL, the memory it references is freed. The bytes pointer is then reset to NULL and the size field is set to zero, leaving the structure in the same state as a freshly constructed object.

Only the payload is released; the storage for the structure itself is not freed. This routine is therefore the correct counterpart to PMIx_Byte_object_construct(3) for caller-provided (stack or embedded) structures.

18.2.176.4. RETURN VALUE

PMIx_Byte_object_destruct returns no value (void).

18.2.176.5. NOTES

Do not use PMIx_Byte_object_destruct on an element of an array obtained from PMIx_Byte_object_create(3) if you also intend to free the array as a whole — use PMIx_Byte_object_free(3) for that case, which destructs every element and then frees the array storage.

The convenience macro PMIX_BYTE_OBJECT_DESTRUCT is provided as a direct wrapper around this function.