00001 00021 #ifndef XAPIAN_INCLUDED_EXACTPHRASEPOSTLIST_H 00022 #define XAPIAN_INCLUDED_EXACTPHRASEPOSTLIST_H 00023 00024 #include "selectpostlist.h" 00025 #include <vector> 00026 00027 typedef Xapian::PositionIterator::Internal PositionList; 00028 00039 class ExactPhrasePostList : public SelectPostList { 00040 std::vector<PostList*> terms; 00041 00042 PositionList ** poslists; 00043 00044 unsigned * order; 00045 00047 void start_position_list(unsigned i); 00048 00050 bool test_doc(); 00051 00052 public: 00053 ExactPhrasePostList(PostList *source_, const std::vector<PostList*> &terms_); 00054 00055 ~ExactPhrasePostList(); 00056 00057 Xapian::termcount get_wdf() const; 00058 00059 Xapian::doccount get_termfreq_est() const; 00060 00061 std::string get_description() const; 00062 }; 00063 00064 #endif