The GroupIndex Template Library
Main Page | Class Hierarchy | Class List | File List | Class Members

groupindex::IndexCommandLine< CIndex, CInterface > Class Template Reference

Diese Template-Klasse erstellt für eine groupindex::GroupIndex - Klasse automatisch ein Shell-Tool für ein Indexierungssystem. More...

#include <IndexCommandLine.h>

Collaboration diagram for groupindex::IndexCommandLine< CIndex, CInterface >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

int command (int argc, char **args)
int run ()

Protected Attributes

CIndex::IndexRepresentation dr
std::fstream idxstream
std::fstream idxHeapStream
CIndex * groupindex
char indexfilename [1024]
char * indexdirname
char * indexfname
char * heapfname
int mismatches

Detailed Description

template<class CIndex, class CInterface>
class groupindex::IndexCommandLine< CIndex, CInterface >

Diese Template-Klasse erstellt für eine groupindex::GroupIndex - Klasse automatisch ein Shell-Tool für ein Indexierungssystem.

Dieses erlaubt durch einen kleinen Befehlssatz Zugriff auf Indexe, so z.B. das Erstellen, Modifizieren und Durchsuchen von Indexen. Zum Einlesen von Dateien bzw. zum Parsen von Indexdateien und Suchanfragen muss eine Klasse CInterface implementiert werden. Diese muss lediglich zwei statische Methoden unterstützen:

Ein IndexCommandLine - Objekt kann einfach mit dem Standard-Konstruktor erzeugt und mit der run() - Methode gestartet werden. Damit besteht z.B. die main() - Routine eines einfachen Indexierungssystems aus den folgenden Programmzeilen:
 int main(int argc, char** args)
 {
    IndexCommandLine<myIndexType,myInterface> icl;
    icl.run();
 }

Die Index-Shell benötigt für viele Operationen einen aktuellen Index. Ein solcher kann mit dem Befehl OPEN geöffnet bzw. neu angelegt werden. Es stehen dann folgende Befehle zur Verfügung:

...

;
Fügt datafile1 ... datafileN in den aktuell geöffneten Index ein. Es muss zuvor ein Index mit OPEN

geöffnet worden sein.

...

;
Entfernt datafile1 ... datafileN aus dem aktuellen Index. Es muss zuvor ein Index mit OPEN

geöffnet worden sein.

;
Vereinigt den aktuellen Index mit dem in der Indexdatei indexfile2 enthaltenen Index. indexfile2 muss eine gültige Indexdatei vom selben Typ wie der aktuelle Index sein. Sind in Dateinamen vorhanden, die im aktuellen Index bereits existieren, so werden diese umbenannt und erhalten einen eindeutigen Namen.

;
setzt die Anzahl der zulässigen Mismatches für Suchanfragen auf N. Standard-Wert ist 0.

;
öffnet die Index-Datei indexfile und macht diesen Index zum aktuellen Index. Existiert indexfile nicht, so wird diese angelegt.

Die Syntax der Befehle ist nicht case-sensitive. Befehle müssen mit einem ";" und einem Zeilenende abgeschlossen werden. Die Befehle MISMATCHES und EXIT benötigen kein aktuelles Index-Objekt.


The documentation for this class was generated from the following file:
The GroupIndex-Template-Library
Universität Bonn, Institut für Informatik III, 2001