Synopsis
#define HKL_LIST_LEN (array)
#define HKL_LIST (type,
name)
#define HKL_LIST_INIT (array)
#define HKL_LIST_ALLOC (array,
len)
#define HKL_LIST_COPY (dst,
src)
#define HKL_LIST_FREE (array)
#define HKL_LIST_FREE_DESTRUCTOR (array,
destructor)
#define HKL_LIST_RESIZE (array,
len)
#define HKL_LIST_ADD_VALUE (array,
value)
#define HKL_LIST_DEL (array,
idx)
#define HKL_LIST_DEL_DESTRUCTOR (array,
idx,
destructor)
#define HKL_LIST_DEL_ITEM_DESTRUCTOR (array,
item,
destructor)
Details
HKL_LIST_LEN()
#define HKL_LIST_LEN(array) array ## _len
HKL_LIST()
#define HKL_LIST(type, name) type *name; size_t HKL_LIST_LEN(name)
HKL_LIST_INIT()
#define HKL_LIST_INIT(array) array = NULL, HKL_LIST_LEN(array) = 0
HKL_LIST_ALLOC()
#define HKL_LIST_ALLOC(array, len)
HKL_LIST_COPY()
#define HKL_LIST_COPY(dst, src) memcpy(dst, src, HKL_LIST_LEN(src) * sizeof(*src))
HKL_LIST_FREE()
#define HKL_LIST_FREE(array) free(array), HKL_LIST_INIT(array)
HKL_LIST_FREE_DESTRUCTOR()
#define HKL_LIST_FREE_DESTRUCTOR(array, destructor)
HKL_LIST_RESIZE()
#define HKL_LIST_RESIZE(array, len)
HKL_LIST_ADD_VALUE()
#define HKL_LIST_ADD_VALUE(array, value)
HKL_LIST_DEL()
#define HKL_LIST_DEL(array, idx)
HKL_LIST_DEL_DESTRUCTOR()
#define HKL_LIST_DEL_DESTRUCTOR(array, idx, destructor)
array :
|
|
idx :
|
|
destructor :
|
|
HKL_LIST_DEL_ITEM_DESTRUCTOR()
#define HKL_LIST_DEL_ITEM_DESTRUCTOR(array, item, destructor)
array :
|
|
item :
|
|
destructor :
|
|