/****************************************************************************** * * $Id$ * * Copyright (C) 1997-1999 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby * granted. No representations are made about the suitability of this software * for any purpose. It is provided "as is" without express or implied warranty. * See the GNU General Public License for more details. * * All output generated with Doxygen is not covered by this license. * */ #ifndef _SEARCHINDEX_H #define _SEARCHINDEX_H #include #include #include #include #include "suffixtree.h" //class IndexTree; class SuffixTree; class DocRef { public: DocRef(int index,const char *name,const char *url) { i=index; n=name; u=url; } ~DocRef() {} void setOffset(int offset) { o=offset; } const char *name() const { return n; } const char *url() const { return u; } int index() const { return i; } int offset() const { return o; } private: QString n; QString u; int i; int o; }; typedef QList DocRefList; typedef QDict DocRefDict; class SearchIndex { public: SearchIndex(); ~SearchIndex(); void addReference(const char *key,const char *ref); bool addWord(const char *key,const char *word,bool special); bool saveIndex(const char *fileName); void dump() { suffixTree->dump(); } private: //IndexTree *indexTree; SuffixTree *suffixTree; DocRefList refList; DocRefDict refDict; QIntDict nameIndex; int indexCount; }; #endif