/*------------------------------------------------------------------------* * programm : C O N T A I N . H P P * * date : 25.10.1993 * * created by : (fa) * * Projekt MEE, ver.: 1.3 * * * *------------------------------------------------------------------------*/ // // Contents ------------------------------------------------- // // Container // Container_element // // Description // // Defines the class Container for general use // // End ------------------------------------------------------ // // Implementation Dependencies ------------------------------ // #include "element.hpp" #ifndef __CONTAIN_H #define __CONTAIN_H // // End ------------------------------------------------------ // Class // class Container; // forward definition class Container_element{ Container_element *next; Container_element *previous; Element *element; friend Container; Container_element(Element *_element, Container_element *_previous= NULL, Container_element *_next = NULL ){ element = _element; next = _next; previous = _previous; } }; class Container{ Container_element *first; Container_element *current; int itemsInContainer; public: Container(); void Add(Element &); void Insert(Element &); Element* Remove(); void Clear(); void Delete(); Element* First(); Element* Next(); Element* Current(); Element* Previous(); int isEmpty(); int itemsNumber(); int isFirst(); ~Container(); }; #endif // ifndef __CONTAIN_H // -------------------------------------------------------------- // odlisnosti od verzie 1.1 // // metoda Remove odstrani element zo zoznamu, ale nemaze ho // Delete odstrani element zo zoznamu a zaroven ho zmaze // Clear vyprazdni cely zoznam a zmaze vsetky elemety // isEmpty vrati 1 ak je zoznam prazdny, inak 0 // itemsNumber vrati pocet prvkov // // odlisnosti od verzie 1.2 // metody vracaju smerniky na elementy, nie referencie // metoda forEach bola zrusena (nie je univerzalna vzhladom k // abstraktnej triede Element)