![]() |
Blender V2.61 - r43446
|
Go to the source code of this file.
Defines | |
| #define | BLI_array_declare(arr) |
| #define | BLI_array_staticdeclare(arr, maxstatic) |
| #define | BLI_array_totalsize_dyn(arr) |
| #define | BLI_array_totalsize(arr) |
| #define | BLI_array_count(arr) _##arr##_count |
| #define | _bli_array_grow_items(arr, num) |
| #define | BLI_array_growitems(arr, num) |
| #define | BLI_array_growone(arr) BLI_array_growitems(arr, 1) |
| #define | BLI_array_append(arr, item) |
| #define | BLI_array_append_r(arr, item) |
| #define | BLI_array_free(arr) |
| #define | BLI_array_pop(arr) |
| #define | BLI_array_empty(arr) _##arr##_count=0 |
| #define | BLI_array_set_length(arr, count) _##arr##_count = (count) |
| #define | BLI_array_fake_user(arr) |
| #define | BLI_array_fixedstack_declare(arr, maxstatic, realsize, allocstr) |
| #define | BLI_array_fixedstack_free(arr) if (_##arr##_is_static) MEM_freeN(arr) \ |
| #define _bli_array_grow_items | ( | arr, | |
| num | |||
| ) |
( \
(BLI_array_totalsize(arr) >= _##arr##_count + num) ? \
(_##arr##_count += num) : \
( \
(void) (_##arr##_tmp = MEM_callocN( \
sizeof(*arr) * (num < _##arr##_count ? \
(_##arr##_count * 2 + 2) : \
(_##arr##_count + num)), \
#arr " " __FILE__ ":" STRINGIFY(__LINE__) \
) \
), \
(void) (arr && memcpy(_##arr##_tmp, \
arr, \
sizeof(*arr) * _##arr##_count) \
), \
(void) (arr && ((void *)(arr) != (void*)_##arr##_static ? \
(MEM_freeN(arr), arr) : \
arr) \
), \
(void) (arr = _##arr##_tmp \
), \
(_##arr##_count += num) \
) \
)
Definition at line 93 of file BLI_array.h.
| #define BLI_array_append | ( | arr, | |
| item | |||
| ) |
( \
(void) BLI_array_growone(arr), \
(void) (arr[_##arr##_count - 1] = item) \
)
Definition at line 130 of file BLI_array.h.
| #define BLI_array_append_r | ( | arr, | |
| item | |||
| ) |
( \
(void) BLI_array_growone(arr), \
(void) (arr[_##arr##_count - 1] = item), \
(&arr[_##arr##_count - 1]) \
)
Definition at line 137 of file BLI_array.h.
| #define BLI_array_count | ( | arr | ) | _##arr##_count |
Definition at line 87 of file BLI_array.h.
| #define BLI_array_declare | ( | arr | ) |
int _##arr##_count = 0; \ void *_##arr##_tmp; \ void *_##arr##_static = NULL
Definition at line 57 of file BLI_array.h.
| #define BLI_array_empty | ( | arr | ) | _##arr##_count=0 |
Definition at line 157 of file BLI_array.h.
| #define BLI_array_fake_user | ( | arr | ) |
(void)_##arr##_count, \
(void)_##arr##_tmp, \
(void)_##arr##_static
Definition at line 166 of file BLI_array.h.
| #define BLI_array_fixedstack_declare | ( | arr, | |
| maxstatic, | |||
| realsize, | |||
| allocstr | |||
| ) |
char _##arr##_static[maxstatic*sizeof(*arr)]; \ const int _##arr##_is_static= ((void *)_##arr##_static) != ( \ arr= (realsize <= maxstatic) ? \ (void *)_##arr##_static : \ MEM_mallocN(sizeof(*arr)*realsize, allocstr) \ ) \
Definition at line 175 of file BLI_array.h.
| #define BLI_array_fixedstack_free | ( | arr | ) | if (_##arr##_is_static) MEM_freeN(arr) \ |
Definition at line 183 of file BLI_array.h.
| #define BLI_array_free | ( | arr | ) |
if (arr && (char *)arr != _##arr##_static) { \ BLI_array_fake_user(arr); \ MEM_freeN(arr); \ }
Definition at line 143 of file BLI_array.h.
| #define BLI_array_growitems | ( | arr, | |
| num | |||
| ) |
( \
((void *)(arr)==NULL && (void *)(_##arr##_static) != NULL) ? \
((arr= (void*)_##arr##_static), (_##arr##_count += num)) : \
_bli_array_grow_items(arr, num) \
)
Definition at line 119 of file BLI_array.h.
| #define BLI_array_growone | ( | arr | ) | BLI_array_growitems(arr, 1) |
Definition at line 126 of file BLI_array.h.
| #define BLI_array_pop | ( | arr | ) |
( \
(arr&&_##arr##_count) ? \
arr[--_##arr##_count] : \
0 \
)
Definition at line 149 of file BLI_array.h.
| #define BLI_array_set_length | ( | arr, | |
| count | |||
| ) | _##arr##_count = (count) |
Definition at line 162 of file BLI_array.h.
| #define BLI_array_staticdeclare | ( | arr, | |
| maxstatic | |||
| ) |
int _##arr##_count = 0; \ void *_##arr##_tmp; \ char _##arr##_static[maxstatic*sizeof(arr)]
Definition at line 64 of file BLI_array.h.
| #define BLI_array_totalsize | ( | arr | ) |
( \
(size_t) \
(((void *)(arr) == (void *)_##arr##_static && (void *)(arr) != NULL) ? \
(sizeof(_##arr##_static) / sizeof(*arr)) : \
BLI_array_totalsize_dyn(arr)) \
)
Definition at line 78 of file BLI_array.h.
| #define BLI_array_totalsize_dyn | ( | arr | ) |
( \
((arr)==NULL) ? \
0 : \
MEM_allocN_len(arr) / sizeof(*arr) \
)
Definition at line 71 of file BLI_array.h.