version 1.8.4.1, 2019/01/22 16:16:45
|
version 1.11, 2019/09/24 15:49:52
|
Line 55 typedef struct _tagArray {
|
Line 55 typedef struct _tagArray {
|
|
|
#define array_Size(_arr) ((_arr) ? (_arr)->arr_num : 0) |
#define array_Size(_arr) ((_arr) ? (_arr)->arr_num : 0) |
#define array_Last(_arr) (array_Size((_arr)) ? (_arr)->arr_last : -1) |
#define array_Last(_arr) (array_Size((_arr)) ? (_arr)->arr_last : -1) |
#define array_Zero(_arr) (assert((_arr)), memset((_arr)->arr_data, 0, \ | #define array_Zero(_arr) (assert((_arr)), (_arr)->arr_last = -1, \ |
array_Size((_arr)) * sizeof(intptr_t))) | memset((_arr)->arr_data, 0, array_Size((_arr)) * sizeof(intptr_t))) |
|
|
#define array_Ptr(_arr, _d) ((_arr) ? (_arr)->arr_data[_d] : NULL) |
#define array_Ptr(_arr, _d) ((_arr) ? (_arr)->arr_data[_d] : NULL) |
#define array_Get2(_arr, _d) (assert((_arr) && (_arr)->arr_num > _d), ((_arr)->arr_data + _d)) |
#define array_Get2(_arr, _d) (assert((_arr) && (_arr)->arr_num > _d), ((_arr)->arr_data + _d)) |
Line 72 typedef struct _tagArray {
|
Line 72 typedef struct _tagArray {
|
e_free((_arr)->arr_data[__d]); \ |
e_free((_arr)->arr_data[__d]); \ |
(_arr)->arr_data[__d] = NULL; \ |
(_arr)->arr_data[__d] = NULL; \ |
} while (0) |
} while (0) |
|
#define array_Var(_arr, _d) (assert((_arr) && (_arr)->arr_num > _d), (ait_val_t*) (_arr)->arr_data[_d]) |
|
|
/* |
/* |
* array_Init() - Create and initialize dynamic array |
* array_Init() - Create and initialize dynamic array |
Line 96 array_t *array_Init2(array_t * __restrict arr, int num
|
Line 97 array_t *array_Init2(array_t * __restrict arr, int num
|
*/ |
*/ |
void array_Destroy(array_t ** __restrict parr); |
void array_Destroy(array_t ** __restrict parr); |
/* |
/* |
|
* array_Destroy2() - Free data in dynamic array |
|
* |
|
* @parr = Array |
|
* return: none |
|
*/ |
|
void array_Destroy2(array_t * __restrict arr); |
|
/* |
* array_Free() - Free all data in dynamic array items |
* array_Free() - Free all data in dynamic array items |
* (WARNING! If assign static array dont use this!!!) |
* (WARNING! If assign static array dont use this!!!) |
* |
* |
Line 107 void array_Free(array_t * __restrict arr);
|
Line 115 void array_Free(array_t * __restrict arr);
|
* array_Reset() - Reset array to initial state |
* array_Reset() - Reset array to initial state |
* |
* |
* @parr = Array |
* @parr = Array |
* @purge = Purge data, if <>0 then will be free entire data memory | * @purge = Purge all data, if <>0 then will be free entire data memory |
* return: none |
* return: none |
*/ |
*/ |
void array_Reset(array_t * __restrict arr, int purge); |
void array_Reset(array_t * __restrict arr, int purge); |