version 1.9.4.2, 2019/01/23 17:40:37
|
version 1.11.44.1, 2024/10/29 01:12:06
|
Line 12 terms:
|
Line 12 terms:
|
All of the documentation and software included in the ELWIX and AITNET |
All of the documentation and software included in the ELWIX and AITNET |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
|
|
Copyright 2004 - 2019 | Copyright 2004 - 2024 |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
|
|
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
Line 53 typedef struct _tagArray {
|
Line 53 typedef struct _tagArray {
|
void **arr_data; |
void **arr_data; |
} array_t; |
} array_t; |
|
|
|
#define array_Data(_arr) ((_arr) ? (_arr)->arr_data : NULL) |
#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)), (_arr)->arr_last = -1, \ |
#define array_Zero(_arr) (assert((_arr)), (_arr)->arr_last = -1, \ |
memset((_arr)->arr_data, 0, 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) ? (_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)) |
#define array_Get(_arr, _d) (assert((_arr)), (_arr)->arr_data[_d]) | #define array_Get(_arr, _d) (assert((_arr) && (_arr)->arr_data), (_arr)->arr_data[_d]) |
#define array(_arr, _d, _type) (assert((_arr)), ((_type) (_arr)->arr_data[_d])) | #define array(_arr, _d, _type) (assert((_arr) && (_arr)->arr_data), ((_type) (_arr)->arr_data[_d])) |
#define array_Set(_arr, _d, _ptr) do { int __d = _d; assert((_arr) && (_arr)->arr_num > __d); \ |
#define array_Set(_arr, _d, _ptr) do { int __d = _d; assert((_arr) && (_arr)->arr_num > __d); \ |
if ((_arr)->arr_last < __d) \ |
if ((_arr)->arr_last < __d) \ |
(_arr)->arr_last = __d; \ |
(_arr)->arr_last = __d; \ |
Line 72 typedef struct _tagArray {
|
Line 73 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 |