#ifndef INC_LISTENEL_HPP
#define INC_LISTENEL_HPP

#include "listtype.hpp"



class LISTENELEMENT  {


// erzeugt von US (Innovative Software) am 14.08.1991, 13:32
// letzte Änderung von US am 22.09.1991, 11:42

    public:
/*
Referenz auf das vorhergehende Listenelement
*/
        LISTENELEMENT* Vorgaenger;
/*
Referenz auf das nachfolgende Listenelement
*/
        LISTENELEMENT* Nachfolger;
/*
Zeiger auf die Daten, die zu diesem Element gehören
*/
        VOIDPTR Daten;
/*
Zeiger auf eine Funktion, die unmittelbar vor dem Löschen dieses Elementes aufgerufen wird. Damit kann zum Beispiel indirekt der Destruktor eines Objektes aufgerufen werden.
Die DeleteProc erhält als Parameter den Zeiger auf die mit diesem Element assoziierten Daten.
Wenn die DeleteProc einen Wert ungleich 0 zurückgibt, wird der Speicher, auf den Daten zeigt, nicht gelöscht. Andernfalls wird der Speicher mit delete gelöscht.
*/
        DELETEPROC DeleteProc;
/*
Konstruktor. Der Konstruktor erhält als Parameter einen Zeiger auf die Daten, die zu diesem Element gehören, sowie jeweils einen Zeiger auf das vorhergehende und das nachfolgende Element.
*/
        LISTENELEMENT(VOIDPTR Daten, LISTENELEMENT* Vorgaenger, LISTENELEMENT* Nachfolger);
/*
Konstruktor. Der Konstruktor erhält als Parameter einen Zeiger auf die Daten, die zu diesem Element gehören, sowie jeweils einen Zeiger auf das vorhergehende und das nachfolgende Element. Der vierte Parameter zeigt auf die DeleteProc.
*/
        LISTENELEMENT(VOIDPTR Daten, LISTENELEMENT* Vorgaenger, LISTENELEMENT* Nachfolger, DELETEPROC DeleteProc);
/*
Destruktor
*/
        ~LISTENELEMENT();
};

#endif
