// sl-4-BA : Der ADT Stack

#ifndef STACK_H
#define STACK_H

#ifndef DataTypeDefined
#define DataTypeDefined
typedef int DataType;
#endif

struct Stack;
typedef Stack * StackPtr;

void empty(StackPtr &);                 // leert einen Stack
bool is_empty(const StackPtr);          // prüft, ob Stack leer ist
void push(StackPtr &, const DataType);  // legt Data auf Stack ab
void pop(StackPtr &);                   // entfernt oberstes Element vom Stack
DataType top(const StackPtr);           // liest oberstes Element vom Stack

#endif
