00001 // 00002 // WordDead.h 00003 // 00004 // NAME 00005 // 00006 // list of documents that must be ignored and then deleted from the index. 00007 // 00008 // SYNOPSIS 00009 // 00010 // Helper for the WordList class. 00011 // 00012 // DESCRIPTION 00013 // 00014 // WordDead is a list of WordKey entries describing deleted documents. 00015 // All inverted index entries that match a WordKey entry of the WordDead 00016 // list are treated as if they do not appear in the inverted index. 00017 // 00018 // 00019 // 00020 // END 00021 // 00022 // Part of the ht://Dig package <http://www.htdig.org/> 00023 // Copyright (c) 1999, 2000, 2001 The ht://Dig Group 00024 // For copyright details, see the file COPYING in your distribution 00025 // or the GNU General Public License version 2 or later 00026 // <http://www.gnu.org/copyleft/gpl.html> 00027 // 00028 // $Id: WordDead_8h-source.html,v 1.1 2008/06/08 10:13:08 sebdiaz Exp $ 00029 // 00030 00031 #ifndef _WordDead_h_ 00032 #define _WordDead_h_ 00033 00034 #include <stdio.h> 00035 00036 #include "htString.h" 00037 #include "WordDB.h" 00038 00039 class WordList; 00040 class WordDeadCursor; 00041 00042 class WordDead 00043 { 00044 public: 00045 WordDead() { words = 0; db = 0; mask = 0; } 00046 ~WordDead(); 00047 00048 int Initialize(WordList* words); 00049 00050 int Open(); 00051 int Remove(); 00052 int Close(); 00053 00054 int Mask(const WordKey& nmask) { *mask = nmask; return OK; } 00055 00056 List* Words() const; 00057 00058 int Normalize(WordKey& key) const; 00059 int Exists(const WordKey& key) const; 00060 int Put(const WordKey& key) const; 00061 00062 WordDeadCursor* Cursor() const; 00063 int Next(WordDeadCursor* cursor, WordKey& key); 00064 00065 private: 00066 WordList* words; 00067 WordDB* db; 00068 WordKey* mask; 00069 }; 00070 #endif /* _WordDead_h_ */