summaryrefslogtreecommitdiffstats
path: root/3rdparty/clucene/src/CLucene/search/FilteredTermEnum.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/clucene/src/CLucene/search/FilteredTermEnum.h')
-rw-r--r--3rdparty/clucene/src/CLucene/search/FilteredTermEnum.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/3rdparty/clucene/src/CLucene/search/FilteredTermEnum.h b/3rdparty/clucene/src/CLucene/search/FilteredTermEnum.h
new file mode 100644
index 000000000..035ae384e
--- /dev/null
+++ b/3rdparty/clucene/src/CLucene/search/FilteredTermEnum.h
@@ -0,0 +1,61 @@
+/*------------------------------------------------------------------------------
+* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
+*
+* Distributable under the terms of either the Apache License (Version 2.0) or
+* the GNU Lesser General Public License, as specified in the COPYING file.
+------------------------------------------------------------------------------*/
+#ifndef _lucene_search_FilteredTermEnum_
+#define _lucene_search_FilteredTermEnum_
+
+#if defined(_LUCENE_PRAGMA_ONCE)
+# pragma once
+#endif
+
+#include "CLucene/index/Term.h"
+#include "CLucene/index/Terms.h"
+
+CL_NS_DEF(search)
+ //FilteredTermEnum is an abstract class for enumerating a subset of all terms.
+ //
+ //Term enumerations are always ordered by term->compareTo(). Each term in
+ //the enumeration is greater than all that precede it.
+
+ class FilteredTermEnum: public CL_NS(index)::TermEnum {
+ public:
+ //Constructor
+ FilteredTermEnum();
+ //Destructor
+ virtual ~FilteredTermEnum();
+
+ //Equality measure on the term
+ virtual qreal difference() = 0;
+
+ //Returns the docFreq of the current Term in the enumeration.
+ int32_t docFreq() const ;
+
+ //Increments the enumeration to the next element
+ bool next() ;
+
+ //Returns a pointer to the current Term in the enumeration.
+ CL_NS(index)::Term* term();
+ CL_NS(index)::Term* term(bool pointer);
+
+ //Closes the enumeration to further activity, freeing resources.
+ void close();
+
+ protected:
+ //Equality compare on the term */
+ virtual bool termCompare(CL_NS(index)::Term* term) = 0;
+
+ //Indiciates the end of the enumeration has been reached
+ virtual bool endEnum() = 0;
+
+ void setEnum(CL_NS(index)::TermEnum* actualEnum) ;
+
+ private:
+ CL_NS(index)::Term* currentTerm;
+ CL_NS(index)::TermEnum* actualEnum;
+
+ };
+CL_NS_END
+#endif