DOKK / manpages / debian 12 / libck-dev / ck_array_put_unique.3.en
CK_ARRAY_PUT_UNIQUE(3) Library Functions Manual CK_ARRAY_PUT_UNIQUE(3)

ck_array_put_uniqueattempt immediate or deferred insertion of a unique pointer into array

Concurrency Kit (libck, -lck)

#include <ck_array.h>

int
ck_array_put_unique(ck_array_t *array, void *pointer);

The (3) function will attempt to insert the value of pointer into the array pointed to by array. This function may incur additional memory allocations if not enough memory has been allocated in the array for a new entry. The operation is also free to apply the operation immediately if there is an opportunity for elimination with a pending (uncommitted) remove operation. The function will not make any modifications if the pointer already exists in the array.

This function returns 1 if the pointer already exists in the array. It returns 0 if the put operation succeeded. It returns -1 on error due to internal memory allocation failures.

ck_array_init(3), ck_array_commit(3), ck_array_put(3), ck_array_remove(3), ck_array_deinit(3) ck_array_length(3), ck_array_buffer(3), ck_array_initialized(3), CK_ARRAY_FOREACH(3)

Additional information available at http://concurrencykit.org/

October 18, 2013