diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 1999-12-15 19:25:10 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 1999-12-15 19:25:10 (GMT) |
commit | 322885a8700a209812bf5a94205260c9bef6ac1f (patch) | |
tree | cc1cd70cf5761ddf72ff114c0b65576c3f4c1d2a /src/searchindex.h | |
parent | 361bf7915be13b5c74688e33c427aea30641814c (diff) | |
download | Doxygen-322885a8700a209812bf5a94205260c9bef6ac1f.zip Doxygen-322885a8700a209812bf5a94205260c9bef6ac1f.tar.gz Doxygen-322885a8700a209812bf5a94205260c9bef6ac1f.tar.bz2 |
initial version
Diffstat (limited to 'src/searchindex.h')
-rw-r--r-- | src/searchindex.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/searchindex.h b/src/searchindex.h new file mode 100644 index 0000000..64071fb --- /dev/null +++ b/src/searchindex.h @@ -0,0 +1,71 @@ +/****************************************************************************** + * + * $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 <qintdict.h> +#include <qstring.h> +#include <qlist.h> +#include <qdict.h> + +#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<DocRef> DocRefList; +typedef QDict<DocRef> 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<DocRef> nameIndex; + int indexCount; +}; + +#endif |