Man page - soldout_array(3)
Packages contains this manual
apt-get install libsoldout-dev
Manual
SOLDOUT_ARRAY (3) Library Functions Manual SOLDOUT_ARRAY (3)
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)