Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 ele-
       ment 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 ele-
       ment 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 el-
       ement 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>.

FreeBSD	ports 15.0		April 13, 2016		      SOLDOUT_ARRAY(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=soldout_array&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help