Provided by: libsoldout-dev_1.4-7_amd64 bug

NAME

       soldout_array,  arr_adjust,  arr_free, arr_grow, arr_init, arr_insert, arr_item, arr_newitem, arr_remove,
       arr_sorted_find, arr_sorted_find_i, parr_adjust, parr_free, parr_grow, parr_init, parr_insert,  parr_pop,
       parr_push,  parr_remove,  parr_sorted_find,  parr_sorted_find_i,  parr_top — array handling functions for
       soldout

SYNOPSIS

       #include <array.h>

       int
       (*array_cmp_fn)(void *key, void *array_entry);

       int
       arr_adjust(struct array *arr);

       void
       arr_free(struct array *arr);

       int
       arr_grow(struct array *arr, int need);

       void
       arr_init(struct array *arr, size_t unit);

       int
       arr_insert(struct array *arr, int nb, int n);

       void *
       arr_item(struct array *arr, int no);

       int
       arr_newitem(struct array *arr);

       void
       arr_remove(struct array *arr, int idx);

       void *
       arr_sorted_find(struct array *arr, void *key, array_cmp_fn cmp);

       int
       arr_sorted_find_i(struct array *arr, void *key, array_cmp_fn cmp);

       int
       parr_adjust(struct parray *arr);

       void
       parr_free(struct parray *arr);

       int
       parr_grow(struct parray *arr, int need);

       void
       parr_init(struct parray *arr);

       int
       parr_insert(struct parray *parr, int nb, int n);

       void *
       parr_pop(struct parray *arr);

       int
       parr_push(struct parray *arr, void *i);

       void *
       parr_remove(struct parray *arr, int idx);

       void *
       parr_sorted_find(struct parray *arr, void *key, array_cmp_fn cmp);

       int
       parr_sorted_find_i(struct parray *arr, void *key, array_cmp_fn cmp);

       void *
       parr_top(struct parray *arr);

DESCRIPTION

   Types
       struct array
       generic linear array.  Consists of the following fields:

       void * base
               actual array data.

       int size
               size of the array.

       int asize
               allocated size.

       size_t unit
               reallocation unit size.

       struct parray
       array of pointers.  Consists of the following fields:

       void ** item
               actual parray data.

       int size
               size of the parray.

       int asize
               allocated size.

       array_cmp_fn
       comparison function for sorted arrays.

   Functions
       arr_adjust()
       shrink the allocated memory to fit exactly the needs.

       arr_free()
       free the structure contents (but NOT the struct itself).

       arr_grow()
       increase the array size to fit the given number of elements.

       arr_init()
       initialize the contents of the struct.

       arr_insert()
       insert nb elements before the n one.

       arr_item()
       return a pointer to the n element.

       arr_newitem()
       return the index of a new element appended to the array arr.

       arr_remove()
       remove the n-th elements of the array.

       arr_sorted_find()
       O(log n) search in a sorted array, returning entry.

       arr_sorted_find_i()
       O(log n) search in a sorted array, returning index of the smallest element larger than the key.

       parr_adjust()
       shrink the allocated memory to fit exactly the needs.

       parr_free()
       free the structure contents (but NOT the struct itself).

       parr_grow()
       increase the array size to fit the given number of elements.

       parr_init()
       initialize the contents of the struct.

       parr_insert()
       insert nb elements before the n one.

       parr_pop()
       pop the last item of the array and return it.

       parr_push()
       push a pointer at the end of the array (= append).

       parr_remove()
       remove the idx element of the array and return it.

       parr_sorted_find()
       O(log n) search in a sorted array, returning entry.

       parr_sorted_find_i()
       O(log n) search in a sorted array, returning index of the smallest element larger than the key.

       parr_top()
       return the top the stack (i.e. the last element of the array).

RETURN VALUES

       The arr_adjust(), arr_grow(), arr_insert(), parr_adjust(),  parr_grow(),  parr_insert()  and  parr_push()
       functions return on success 1; on error - 0.

       The arr_free(), arr_init(), arr_remove(), parr_free() and parr_init() functions do not return a value.

       The arr_item(), arr_sorted_find(), parr_pop(), parr_remove(), parr_sorted_find() and parr_top() functions
       return a pointer to the element on success; on error - NULL.

       The arr_newitem() function returns the index on success; on error -1.

       The arr_sorted_find_i() and parr_sorted_find_i() functions return an index.

SEE ALSO

       soldout(3)

AUTHORS

       The soldout library was written by Natasha "Kerensikova" Porte <natacha@instinctive.eu>.  Manual page was
       originally  written  by  Massimo Manghi <mxmanghi@apache.org>, and rewritten to mdoc format by Svyatoslav
       Mishyn <juef@openmailbox.org>.

Debian                                           April 13, 2016                                 SOLDOUT_ARRAY(3)