13static inline
size_t stack_size(const gv_stack_t *stack) {
14 return gv_stack_size(stack);
18 return gv_stack_is_empty(stack);
22 gv_stack_push(stack,
item);
27 assert(stack !=
NULL);
28 assert(!
stack_is_empty(stack) &&
"access to top of an empty stack");
30 return gv_stack_get(stack, gv_stack_size(stack) - 1);
33static inline void *
stack_pop(gv_stack_t *stack) {
return gv_stack_pop(stack); }
35static inline void stack_reset(gv_stack_t *stack) { gv_stack_free(stack); }
#define DEFINE_LIST(name, type)
static void stack_push(gv_stack_t *stack, void *item)
static size_t stack_size(const gv_stack_t *stack)
static void * stack_pop(gv_stack_t *stack)
static void * stack_top(gv_stack_t *stack)
static void stack_reset(gv_stack_t *stack)
static bool stack_is_empty(const gv_stack_t *stack)