gif gif up gif contents
Nächste Seite: E Klassen der Beispielapplikation Vorige Seite: D.2.8 CBattribute

D.2.9 CBset

CBset ist eine Template-Klasse, die zur Verwaltung beliebiger Mengen eingesetzt werden kann. Für den Template-Typen müssen aber zumindest die Operatoren == und < definiert sein. Mit dieser Klassen werden zum Beispiel die Objekte in den Sichtenextensionen und die Attributmengen verwaltet. Die Daten werden in einem AVL-Baum gespeichert.

template <class V>
class CBset {
 public:
    // Constructors
    CBset();
    CBset(V*);
    CBset(const CBset<V>& s);
    
    // Destructor
    ~CBset();
    
    // Methods
    bool insert(V*);
    bool remove(V&);
    bool member(V&);
    bool isEmpty();

    V* first();
    V* next();
    V* previous();
    V* last();
    
    V* find(V& v);
    V* findNext(V& v);
    
    int size();

    // Operators
    CBset<V>& operator=(const CBset<V>& s); 
    V& operator[](int i);
    
 private:
    V* pData;
    CBset<V>* pLeft;
    CBset<V>* pRight;
    CBset<V>* pIterator;
    // ...
};



Christoph Quix
31. Juli 1996