table of contents
other versions
- buster 1.0.5-1
- testing 1.0.6-2
- unstable 2.0.2-1
- experimental 2.0.1-1
QBARRAY.H(3) | libqb Programmer's Manual | QBARRAY.H(3) |
NAME¶
qbarray.h - This is a dynamic array (it can grow, but without moving memory).SYNOPSIS¶
#include <qb/qbarray.h>
DESCRIPTION¶
arr = qb_array_create_2(64, sizeof(struct my_struct), 256); res = qb_array_index(arr, idx, (void**)&my_ptr); if (res < 0) { return res; } // use my_ptr, now even if there is a grow, this pointer will be valid.
Currently, this dynamic array abstract data type can accommodate only 2^QB_ARRAY_MAX_INDEX_BITS elements, and with standard zero-based indexing, this gives a valid index range [0, QB_ARRAY_MAX_ELEMENTS), where the notation denotes the beginning of the interval is included and the end is excluded. In other words, client space shall avoid a pitfall of relying solely on the type of max_elements parameter to qb_array_create and/or of idx parameter to qb_array_index (these types conflict, anyway).
SEE ALSO¶
qb_array_elems_per_bin_get(3), qb_array_new_bin_cb_set(3), qb_array_create(3), qb_array_grow(3), qb_array_num_bins_get(3), qb_array_index(3), qb_array_create_2(3), qb_array_free(3)COPYRIGHT¶
Copyright (C) 2010-2020 Red Hat, Inc.2020-12-03 | LIBQB |