HuntnGather – Blame information for rev 46
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
46 | office | 1 | /////////////////////////////////////////////////////////////////////////// |
2 | // Copyright (C) 2021 Wizardry and Steamworks - License: MIT // |
||
3 | /////////////////////////////////////////////////////////////////////////// |
||
4 | |||
5 | typedef struct { |
||
6 | void *data; |
||
7 | unsigned int size; |
||
8 | } stackElement; |
||
9 | |||
10 | /* |
||
11 | * The stack structure with top being the index of the next element |
||
12 | * to be inserted in stack (the top-most element to be found at top - 1). |
||
13 | */ |
||
14 | typedef struct { |
||
15 | int size; |
||
16 | stackElement **store; |
||
17 | int top; |
||
18 | } stack; |
||
19 | |||
20 | // Zero or one arguments for stackCreate_Internal. |
||
21 | #define stackIsEmpty(s) (s->top == 0) |
||
22 | #define stackSize(s) s->size |
||
23 | #define stackCount(s) s->top |
||
24 | |||
25 | extern stack* stackCreate(unsigned int size); |
||
26 | extern stack* stackClear(stack *s); |
||
27 | extern void stackPush(stack *s, void *e, unsigned int size); |
||
28 | extern void *stackPop(stack *s); |
||
29 | extern void stackDestroy(stack *s); |
||
30 | extern void stackPrint(stack *s); |