]>
Commit | Line | Data |
---|---|---|
1 | #ifndef _STACK_H_ | |
2 | #define _STACK_H_ | |
3 | ||
4 | #include <stdbool.h> | |
5 | ||
6 | typedef struct _Stack Stack; | |
7 | typedef void (*StackFreeFunc)(void*); | |
8 | ||
9 | Stack* stack_new(); | |
10 | Stack* stack_new_full(StackFreeFunc free); | |
11 | void stack_destroy(Stack*); | |
12 | void* stack_pop(Stack*); | |
13 | void stack_push(Stack*, void*); | |
14 | void* stack_peek(Stack*); | |
15 | bool stack_empty(Stack*); | |
16 | void stack_clear(Stack*); | |
17 | int stack_size(Stack*); | |
18 | ||
19 | #endif |