#ifndef __INC_DynamicBuffer_h__
#define __INC_DynamicBuffer_h__

#include "stdio.h" // beinhaltet Definition von 'NULL'

template<class T>
class DynamicBuffer {
public:
    // Standard-Konstruktor (ohne Parameter)
    DynamicBuffer();

    // Einfuegen eines neuen Elements
    void enqueue(T x);

    // Entfernen des ältesten Elements
    void dequeue(T &x);

    // true gdw. Schlange leer ist
    bool nonEmpty();

private:
    struct ListElem; // generischer opaker Datentyp	
    ListElem* head; // Listenanfang (~ ältestes Element)
    ListElem* tail; // Listenende   (~ neuestes Element)
};
#endif 