2010-09-10 5 views
6

Gibt es eine gute Datei-basierte Schlüssel-> Wert-Datenstruktur in C++ verfügbar?Gibt es eine gut bekannte dateibasierte Schlüssel-> Wertdatenstruktur in C++?

ähnlich std :: map (Vorlage basiert) mit einem Einfügen/Löschen/Holen von O (Logn).

+2

Dies ist keine echte Antwort auf Ihre Frage, also füge ich es nur als Kommentar hinzu. Haben Sie über die Verwendung einer Datenbank nachgedacht? Insbesondere denke ich in sqlite als etwas, das mit nicht zu viel Aufwand in eine C++ - Anwendung eingebettet werden kann. –

+0

Ich war irgendwie auf der Suche nach einer einfachen Datenstruktur keine DBs wenn möglich. – aeh

+2

Wenn es sowieso dateibasiert ist, scheint das eine merkwürdige Anforderung zu sein – jalf

Antwort

13

STXXL - Die Standardvorlagenbibliothek für XXL-Datensätze implementiert dateibasierte Container.

Es ist stxxl :: map ist sehr ähnlich zu std :: map, basierend auf B+ tree mit einem insert/delete/get von O (logn).

1

Sie könnten Oracle Berkeley DB betrachten bietet es den zugrunde liegenden Schlüssel, Datenspeichermechanismus, die Sie benötigen oder wie bereits vorgeschlagen sqlite.

0

Vielleicht können Sie Ihren eigenen Vorlagenmechanismus zu Datenbanken wie redist hinzufügen. Wenn Sie eine string-basierte Datenbank haben, benötigen Sie einige Methoden, um Ihre eigenen Objekte zu serialisieren/deserialisieren. Vielleicht macht Google Protocol Buffers oder ein benutzerdefinierter JSON/XML-Exporteur/Importeur das für Sie, hängt davon ab, ob Sie nur Geschwindigkeit wollen oder einfach zu bedienen sind.

Verwandte Themen