--- libaitio/inc/aitio.h 2011/05/03 14:59:01 1.8.2.5 +++ libaitio/inc/aitio.h 2011/05/03 15:37:40 1.8.2.8 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitio.h,v 1.8.2.5 2011/05/03 14:59:01 misho Exp $ +* $Id: aitio.h,v 1.8.2.8 2011/05/03 15:37:40 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -260,6 +260,10 @@ int io_arrayVacuum(array_t * __restrict arr, int fromW assert(_arr && _arr->arr_num > _d); \ *(_arr->arr_data + _d) = (void*) _ptr; \ } while (0) +#define io_arrayDel(_arr, _d) do { \ + assert(_arr && _arr->arr_num > _d); \ + *(_arr->arr_data + _d) = NULL; \ + } while (0) /* * io_arrayPush() - Push element into dynamic array like stack manner, place at first empty position @@ -344,6 +348,14 @@ inline int io_sarrVacuum(sarr_t * __restrict arr); * return: NULL not found, !=NULL element */ inline void *io_sarrGet(sarr_t * __restrict arr, unsigned int idx); +/* + * io_sarrGet2() - Always get element from dynamic split-order array + * Function automatic grow array. Good use for Hash tables! + * @arr = Array + * @idx = Index (warning 1st element is at position 1) + * return: NULL not found, !=NULL element + */ +void *io_sarrGet2(sarr_t * __restrict arr, unsigned int idx); /* * io_sarrSet() - Set element to dynamic split-order array * @arr = Array