hkl-list

hkl-list

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)

Description

Details

HKL_LIST_LEN()

#define HKL_LIST_LEN(array) array ## _len

array :


HKL_LIST()

#define HKL_LIST(type, name) type *name; size_t HKL_LIST_LEN(name)

type :

name :


HKL_LIST_INIT()

#define HKL_LIST_INIT(array) array = NULL, HKL_LIST_LEN(array) = 0

array :


HKL_LIST_ALLOC()

#define             HKL_LIST_ALLOC(array, len)

array :

len :


HKL_LIST_COPY()

#define HKL_LIST_COPY(dst, src) memcpy(dst, src, HKL_LIST_LEN(src) * sizeof(*src))

dst :

src :


HKL_LIST_FREE()

#define HKL_LIST_FREE(array) free(array), HKL_LIST_INIT(array)

array :


HKL_LIST_FREE_DESTRUCTOR()

#define             HKL_LIST_FREE_DESTRUCTOR(array, destructor)

array :

destructor :


HKL_LIST_RESIZE()

#define             HKL_LIST_RESIZE(array, len)

array :

len :


HKL_LIST_ADD_VALUE()

#define             HKL_LIST_ADD_VALUE(array, value)

array :

value :


HKL_LIST_DEL()

#define             HKL_LIST_DEL(array, idx)

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 :