xapian-core
1.4.27
|
#include <glass_alltermslist.h>
Public Member Functions | |
GlassAllTermsList (Xapian::Internal::intrusive_ptr< const GlassDatabase > database_, const std::string &prefix_) | |
~GlassAllTermsList () | |
Destructor. More... | |
std::string | get_termname () const |
Returns the current termname. More... | |
Xapian::doccount | get_termfreq () const |
Returns the term frequency of the current term. More... | |
TermList * | next () |
Advance to the next term in the list. More... | |
TermList * | skip_to (const std::string &tname) |
Advance to the first term which is >= tname. More... | |
bool | at_end () const |
True if we're off the end of the list. More... | |
Public Member Functions inherited from AllTermsList | |
virtual Xapian::termcount | get_approx_size () const |
Return approximate size of this termlist. More... | |
virtual Xapian::termcount | get_wdf () const |
Return the wdf for the term at the current position. More... | |
virtual Xapian::termcount | positionlist_count () const |
Return true if the current position is past the last term in this list. More... | |
virtual Xapian::PositionIterator | positionlist_begin () const |
Return a PositionIterator for the current position. More... | |
Public Member Functions inherited from Xapian::TermIterator::Internal | |
virtual | ~Internal () |
We have virtual methods and want to be able to delete derived classes using a pointer to the base class, so we need a virtual destructor. More... | |
virtual void | accumulate_stats (Xapian::Internal::ExpandStats &stats) const |
Collate weighting information for the current term. More... | |
virtual const std::vector< Xapian::termpos > * | get_vector_termpos () const |
Get pointer to vector<termpos> if that's the internal representation. More... | |
Public Member Functions inherited from Xapian::Internal::intrusive_base | |
intrusive_base () | |
Construct with no references. More... | |
Private Member Functions | |
GlassAllTermsList (const GlassAllTermsList &) | |
Copying is not allowed. More... | |
void | operator= (const GlassAllTermsList &) |
Assignment is not allowed. More... | |
void | read_termfreq () const |
Read and cache the term frequency. More... | |
Private Attributes | |
Xapian::Internal::intrusive_ptr< const GlassDatabase > | database |
Keep a reference to our database to stop it being deleted. More... | |
GlassCursor * | cursor |
A cursor which runs through the postlist table reading termnames from the keys. More... | |
std::string | current_term |
The termname at the current position. More... | |
std::string | prefix |
The prefix to restrict the terms to. More... | |
Xapian::doccount | termfreq |
The term frequency of the term at the current position. More... | |
Additional Inherited Members | |
Public Attributes inherited from Xapian::TermIterator::Internal | |
size_t | shard_index = 0 |
Which shard of a multidatabase this is from. More... | |
Public Attributes inherited from Xapian::Internal::intrusive_base | |
unsigned | _refs |
Reference count. More... | |
Protected Member Functions inherited from AllTermsList | |
AllTermsList () | |
Only constructable as a base class for derived classes. More... | |
Protected Member Functions inherited from Xapian::TermIterator::Internal | |
Internal () | |
Only constructable as a base class for derived classes. More... | |
Definition at line 31 of file glass_alltermslist.h.
|
private |
Copying is not allowed.
|
inline |
Definition at line 63 of file glass_alltermslist.h.
References at_end(), get_termfreq(), get_termname(), next(), skip_to(), and ~GlassAllTermsList().
GlassAllTermsList::~GlassAllTermsList | ( | ) |
Destructor.
Definition at line 45 of file glass_alltermslist.cc.
References cursor, and LOGCALL_DTOR.
Referenced by GlassAllTermsList().
|
virtual |
True if we're off the end of the list.
Implements AllTermsList.
Definition at line 178 of file glass_alltermslist.cc.
References GlassCursor::after_end(), cursor, LOGCALL, and RETURN.
Referenced by get_termfreq(), get_termname(), GlassAllTermsList(), next(), read_termfreq(), and skip_to().
|
virtual |
Returns the term frequency of the current term.
Either next() or skip_to() must have been called before this method can be called.
Implements AllTermsList.
Definition at line 61 of file glass_alltermslist.cc.
References Assert, at_end(), current_term, LOGCALL, read_termfreq(), RETURN, and termfreq.
Referenced by GlassAllTermsList().
|
virtual |
Returns the current termname.
Either next() or skip_to() must have been called before this method can be called.
Implements AllTermsList.
Definition at line 52 of file glass_alltermslist.cc.
References Assert, at_end(), current_term, LOGCALL, and RETURN.
Referenced by GlassAllTermsList().
|
virtual |
Advance to the next term in the list.
Implements AllTermsList.
Definition at line 71 of file glass_alltermslist.cc.
References GlassCursor::after_end(), Assert, at_end(), GlassCursor::current_key, current_term, cursor, GlassTable::cursor_get(), database, GlassCursor::find_entry_ge(), LOGCALL, GlassCursor::next(), pack_glass_postlist_key(), GlassDatabase::postlist_table, prefix, rare, RETURN, startswith(), termfreq, GlassCursor::to_end(), and unpack_string_preserving_sort().
Referenced by GlassAllTermsList().
|
private |
Assignment is not allowed.
|
private |
Read and cache the term frequency.
Definition at line 32 of file glass_alltermslist.cc.
References Assert, at_end(), GlassCursor::current_tag, current_term, cursor, LOGCALL_VOID, GlassPostList::read_number_of_entries(), GlassCursor::read_tag(), and termfreq.
Referenced by get_termfreq().
|
virtual |
Advance to the first term which is >= tname.
Implements AllTermsList.
Definition at line 137 of file glass_alltermslist.cc.
References GlassCursor::after_end(), Assert, at_end(), GlassCursor::current_key, current_term, cursor, GlassTable::cursor_get(), database, GlassCursor::find_entry_ge(), LOGCALL, pack_glass_postlist_key(), GlassDatabase::postlist_table, prefix, rare, RETURN, startswith(), termfreq, GlassCursor::to_end(), and unpack_string_preserving_sort().
Referenced by GlassAllTermsList().
|
private |
The termname at the current position.
Definition at line 47 of file glass_alltermslist.h.
Referenced by get_termfreq(), get_termname(), next(), read_termfreq(), and skip_to().
|
private |
A cursor which runs through the postlist table reading termnames from the keys.
Definition at line 44 of file glass_alltermslist.h.
Referenced by at_end(), next(), read_termfreq(), skip_to(), and ~GlassAllTermsList().
|
private |
Keep a reference to our database to stop it being deleted.
Definition at line 39 of file glass_alltermslist.h.
|
private |
The prefix to restrict the terms to.
Definition at line 50 of file glass_alltermslist.h.
|
mutableprivate |
The term frequency of the term at the current position.
If this value is zero, then we haven't read the term frequency for the current term yet. We need to call read_termfreq() to read this.
Definition at line 57 of file glass_alltermslist.h.
Referenced by get_termfreq(), next(), read_termfreq(), and skip_to().