Blender
V3.3
|
BLI_LINKSTACK_*** wrapper macros for using a LinkNode to store a stack of pointers, using a single linked list allocated from a mempool. More...
Go to the source code of this file.
BLI_LINKSTACK_*** wrapper macros for using a LinkNode to store a stack of pointers, using a single linked list allocated from a mempool.
_##var##_type
is a dummy variable only used for type-checks. Definition in file BLI_linklist_stack.h.
#define _BLI_SMALLSTACK_CAST | ( | var | ) |
Definition at line 89 of file BLI_linklist_stack.h.
#define _BLI_SMALLSTACK_DEL | ( | var | ) | _BLI_SMALLSTACK_DEL_EX(var, var) |
Definition at line 124 of file BLI_linklist_stack.h.
#define _BLI_SMALLSTACK_DEL_EX | ( | var_src, | |
var_dst | |||
) |
Definition at line 116 of file BLI_linklist_stack.h.
Definition at line 92 of file BLI_linklist_stack.h.
Definition at line 24 of file BLI_linklist_stack.h.
#define BLI_LINKSTACK_FREE | ( | var | ) |
#define BLI_LINKSTACK_INIT | ( | var | ) |
Definition at line 29 of file BLI_linklist_stack.h.
#define BLI_LINKSTACK_POP | ( | var | ) | (var ? BLI_linklist_pop_pool(&(var), var##_pool_) : NULL) |
Definition at line 49 of file BLI_linklist_stack.h.
#define BLI_LINKSTACK_POP_DEFAULT | ( | var, | |
r | |||
) | (var ? BLI_linklist_pop_pool(&(var), var##_pool_) : r) |
Definition at line 50 of file BLI_linklist_stack.h.
#define BLI_LINKSTACK_PUSH | ( | var, | |
ptr | |||
) | (BLI_linklist_prepend_pool(&(var), ptr, var##_pool_)) |
Definition at line 48 of file BLI_linklist_stack.h.
#define BLI_LINKSTACK_SIZE | ( | var | ) | BLI_mempool_len(var##_pool_) |
Definition at line 36 of file BLI_linklist_stack.h.
#define BLI_LINKSTACK_SWAP | ( | var_a, | |
var_b | |||
) |
Definition at line 53 of file BLI_linklist_stack.h.
Definition at line 144 of file BLI_linklist_stack.h.
#define BLI_SMALLSTACK_IS_EMPTY | ( | var | ) | ((_BLI_SMALLSTACK_CAST(var) _##var##_stack) == NULL) |
Definition at line 141 of file BLI_linklist_stack.h.
#define BLI_SMALLSTACK_ITER_BEGIN | ( | var, | |
item | |||
) |
Definition at line 156 of file BLI_linklist_stack.h.
#define BLI_SMALLSTACK_ITER_END |
Definition at line 162 of file BLI_linklist_stack.h.
#define BLI_SMALLSTACK_PEEK | ( | var | ) | (_BLI_SMALLSTACK_CAST(var)((_##var##_stack) ? _##var##_stack->link : NULL)) |
Definition at line 138 of file BLI_linklist_stack.h.
#define BLI_SMALLSTACK_POP | ( | var | ) |
Definition at line 127 of file BLI_linklist_stack.h.
#define BLI_SMALLSTACK_POP_EX | ( | var_src, | |
var_dst | |||
) |
Definition at line 132 of file BLI_linklist_stack.h.
Definition at line 98 of file BLI_linklist_stack.h.