Verzeichnisstruktur speichern



  • Hi Leute,
    Ich muss eine Verzeichnisstruktur in meinem Programm speichern. Jedes Element besteht entweder aus einem SDirectory- oder einem SFile-Objekt, wobei SDirectory-Objekte wiederum SDirectory- oder SFile-Objekte als Unterobjekte besitzen können. (Ganz normal also, wie man es eben von einer Verzeichnisstruktur gewohnt ist.) In einem SDirectory-Objekt steht nicht der gesamte Pfad des Objekts, sondern nur der Verzeichnisname, analog ists beim SFile-Objekt.

    Dann gibt es noch ein paar Anforderungen:
    - Es soll möglich sein, Zeiger auf einzelne Elemente dieser Struktur zurückzugeben, beispielweise auf ein SDirectory-Objekt. Diese Zeiger müssen auch nach einer Veränderung der Struktur gültig bleiben, so lange, wie es dieses Element auch tatsächlich gibt.
    - Es soll möglich sein, das Element, auf das der Zeiger zeigt, anhand dieses Zeigers aus der Struktur zu löschen.
    - Es soll möglich sein, ein Element auf einfache Weise anhand einer Pfadangabe zu bekommen.

    Bisher hab ich das folgendermassen gemacht: Jedes SDirectory-Objekt besitzt eine std::list-Liste mit den Unterverzeichnissen und eine std::list.Liste mit den Dateien, die in dem Verzeichnis liegen. Mit dieser Methode funktionieren die Anforderungen 1 und 3, für Anforderung 2 geht das aber nciht.

    Wie würdet ihr sowas machen? Mit einem Binärbaum?
    Danke im Voraus


Anmelden zum Antworten