1 /* -------------------------------------------------------------------------
\r
3 * A stack of pointers.
\r
4 * Copyright 2010 QTronic GmbH. All rights reserved.
\r
5 * -------------------------------------------------------------------------*/
\r
12 int stackSize; // allocated size of stack
\r
13 int stackPos; // array index of top element, -1 if stack is empty.
\r
14 int initialSize; // how many element to allocate initially
\r
15 int inc; // how many elements to allocate when stack gets full
\r
18 Stack* stackNew(int initialSize, int inc);
\r
19 int stackIsEmpty(Stack* s);
\r
20 int stackPush(Stack* s, void* e);
\r
21 void* stackPeek(Stack* s);
\r
22 void* stackPop(Stack* s);
\r
23 void** stackPopAllAsArray(Stack* s, int *size);
\r
24 void** stackLastPopedAsArray0(Stack* s, int n);
\r
25 void stackFree(Stack* s);
\r