Provided by: libqb-dev_2.0.8-1ubuntu2_amd64 bug

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.