35     Assert(!left_current.empty());
    36     Assert(!right_current.empty());
    52     RETURN(left->get_approx_size() + right->get_approx_size());
    58     LOGCALL_VOID(EXPAND, 
"OrTermList::accumulate_stats", stats);
    60     if (left_current <= right_current) left->accumulate_stats(stats);
    61     if (left_current >= right_current) right->accumulate_stats(stats);
    67     LOGCALL(EXPAND, 
string, 
"OrTermList::get_termname", NO_ARGS);
    69     if (left_current < right_current) 
RETURN(left_current);
    78     int cmp = left_current.compare(right_current);
    79     if (cmp < 0) 
RETURN(left->get_wdf());
    80     if (cmp > 0) 
RETURN(right->get_wdf());
    81     RETURN(left->get_wdf() + right->get_wdf());
    89     if (left_current < right_current) 
RETURN(left->get_termfreq());
    90     Assert(left_current > right_current || left->get_termfreq() == right->get_termfreq());
    91     RETURN(right->get_termfreq());
   111     int cmp = left_current.compare(right_current);
   114         if (left->at_end()) {
   119         left_current = left->get_termname();
   120     } 
else if (cmp > 0) {
   122         if (right->at_end()) {
   127         right_current = right->get_termname();
   129         AssertEq(left_current, right_current);
   132         if (left->at_end()) {
   139         if (right->at_end()) {
   144         left_current = left->get_termname();
   145         right_current = right->get_termname();
   156     if (left->at_end()) {
   163     if (right->at_end()) {
   168     left_current = left->get_termname();
   169     right_current = right->get_termname();
   176     LOGCALL(EXPAND, 
bool, 
"OrTermList::at_end", NO_ARGS);
   204     int cmp = left_current.compare(right_current);
   205     if (cmp < 0) 
RETURN(left->get_termfreq());
   206     if (cmp > 0) 
RETURN(right->get_termfreq());
   207     RETURN(left->get_termfreq() + right->get_termfreq());
 
std::string get_termname() const
Return the termname at the current position. 
 
Xapian::PositionIterator positionlist_begin() const
Return a PositionIterator for the current position. 
 
void accumulate_stats(Xapian::Internal::ExpandStats &stats) const
Collate weighting information for the current term. 
 
Xapian::termcount get_wdf() const
Return the wdf for the term at the current position. 
 
static void handle_prune(TermList *&old, TermList *result)
 
Xapian::doccount get_termfreq() const
Return the term frequency for the term at the current position. 
 
Merge two TermList objects using an OR operation. 
 
TermList * skip_to(const std::string &term)
Skip forward to the specified term. 
 
#define LOGCALL_VOID(CATEGORY, FUNC, PARAMS)
 
Abstract base class for termlists. 
 
Class for iterating over term positions. 
 
Xapian::doccount get_termfreq() const
Return the term frequency for the term at the current position. 
 
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms. 
 
Xapian::termcount positionlist_count() const
Return the length of the position list for the current position. 
 
Class for iterating over term positions. 
 
TermList * next()
Advance the current position to the next term in the termlist. 
 
unsigned XAPIAN_DOCID_BASE_TYPE doccount
A count of documents. 
 
Xapian::termcount get_approx_size() const
Return approximate size of this termlist. 
 
Collates statistics while calculating term weight in an ESet. 
 
void check_started() const
Check that next() has already been called. 
 
Various assertion macros. 
 
#define LOGCALL(CATEGORY, TYPE, FUNC, PARAMS)
 
bool at_end() const
Return true if the current position is past the last term in this list.