summaryrefslogtreecommitdiffstats
path: root/debian/htdig/htdig-3.2.0b6/htsearch/ExactWordQuery.h
diff options
context:
space:
mode:
Diffstat (limited to 'debian/htdig/htdig-3.2.0b6/htsearch/ExactWordQuery.h')
-rw-r--r--debian/htdig/htdig-3.2.0b6/htsearch/ExactWordQuery.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/debian/htdig/htdig-3.2.0b6/htsearch/ExactWordQuery.h b/debian/htdig/htdig-3.2.0b6/htsearch/ExactWordQuery.h
new file mode 100644
index 00000000..fafcb878
--- /dev/null
+++ b/debian/htdig/htdig-3.2.0b6/htsearch/ExactWordQuery.h
@@ -0,0 +1,71 @@
+#ifndef _ExactWordQuery_h_
+#define _ExactWordQuery_h_
+
+//
+// ExactWordQuery.h
+//
+// ExactWordQuery: A Query tree leaf object. Wraps a database access
+// that generates ResultLists for word matches.
+//
+// Part of the ht://Dig package <http://www.htdig.org/>
+// Copyright (c) 1995-2004 The ht://Dig Group
+// For copyright details, see the file COPYING in your distribution
+// or the GNU Library General Public License (LGPL) version 2 or later
+// <http://www.gnu.org/copyleft/lgpl.html>
+//
+// $Id: ExactWordQuery.h,v 1.4 2004/05/28 13:15:24 lha Exp $
+//
+
+#ifdef HAVE_CONFIG_H
+#include "htconfig.h"
+#endif
+
+#include "Query.h"
+
+class WordSearcher;
+
+class ExactWordQuery : public Query
+{
+public:
+ // construct for word w
+ ExactWordQuery(const String &w) :
+ word(w), weight(1.0) {}
+
+ // destruct
+ ~ExactWordQuery() {}
+
+ // set the common db wrapper
+ static void SetSearcher(WordSearcher *c) { searcher = c; }
+
+ // weight accessor
+ void SetWeight(double x) { weight = x; }
+ double GetWeight() const { return weight; }
+
+private:
+ // forbidden
+ ExactWordQuery() {}
+
+ // go search the db
+ ResultList *Evaluate();
+
+ // set my weight to the list
+ void AdjustWeight(ResultList &);
+
+ // unparse
+ String GetLogicalWords() const { return word; }
+
+ // unique cache index
+ String GetSignature() const
+ { return String("Exact:")+GetLogicalWords(); }
+
+ // i represent this
+ String word;
+
+ // my weight
+ double weight;
+
+ // db wrapper common to all word queries
+ static WordSearcher *searcher;
+};
+
+#endif