xapian-core  2.0.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
GlassAllTermsList Class Reference

#include <glass_alltermslist.h>

+ Inheritance diagram for GlassAllTermsList:
+ Collaboration diagram for GlassAllTermsList:

Public Member Functions

 GlassAllTermsList (Xapian::Internal::intrusive_ptr< const GlassDatabase > database_, std::string_view prefix_)
 
 ~GlassAllTermsList ()
 Destructor. More...
 
Xapian::termcount get_approx_size () const
 Return approximate size of this termlist. More...
 
Xapian::doccount get_termfreq () const
 Returns the term frequency of the current term. More...
 
TermListnext ()
 Advance to the next term in the list. More...
 
TermListskip_to (std::string_view tname)
 Advance to the first term which is >= tname. More...
 
- Public Member Functions inherited from AllTermsList
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 PositionListpositionlist_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...
 
const std::string & get_termname () const
 Return the termname at the current position. More...
 
virtual const Xapian::VecCOW< Xapian::termpos > * get_vec_termpos () const
 Get pointer to VecCOW<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 GlassDatabasedatabase
 Keep a reference to our database to stop it being deleted. More...
 
GlassCursorcursor
 A cursor which runs through the postlist table reading termnames from the keys. 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...
 
- Protected Attributes inherited from Xapian::TermIterator::Internal
std::string current_term
 The current term. More...
 

Detailed Description

Definition at line 32 of file glass_alltermslist.h.

Constructor & Destructor Documentation

◆ GlassAllTermsList() [1/2]

GlassAllTermsList::GlassAllTermsList ( const GlassAllTermsList )
private

Copying is not allowed.

◆ GlassAllTermsList() [2/2]

GlassAllTermsList::GlassAllTermsList ( Xapian::Internal::intrusive_ptr< const GlassDatabase database_,
std::string_view  prefix_ 
)
inline

Definition at line 61 of file glass_alltermslist.h.

◆ ~GlassAllTermsList()

GlassAllTermsList::~GlassAllTermsList ( )

Destructor.

Definition at line 49 of file glass_alltermslist.cc.

References LOGCALL_DTOR.

Member Function Documentation

◆ get_approx_size()

Xapian::termcount GlassAllTermsList::get_approx_size ( ) const
virtual

Return approximate size of this termlist.

Implements AllTermsList.

Definition at line 56 of file glass_alltermslist.cc.

◆ get_termfreq()

Xapian::doccount GlassAllTermsList::get_termfreq ( ) const
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 65 of file glass_alltermslist.cc.

References Assert, LOGCALL, and RETURN.

◆ next()

TermList * GlassAllTermsList::next ( )
virtual

Advance to the next term in the list.

Implements AllTermsList.

Definition at line 76 of file glass_alltermslist.cc.

References Assert, LOGCALL, p, pack_glass_postlist_key(), rare, RETURN, startswith(), and unpack_string_preserving_sort().

◆ operator=()

void GlassAllTermsList::operator= ( const GlassAllTermsList )
private

Assignment is not allowed.

◆ read_termfreq()

void GlassAllTermsList::read_termfreq ( ) const
private

Read and cache the term frequency.

Definition at line 35 of file glass_alltermslist.cc.

References Assert, LOGCALL_VOID, p, and GlassPostList::read_freqs().

◆ skip_to()

TermList * GlassAllTermsList::skip_to ( std::string_view  tname)
virtual

Advance to the first term which is >= tname.

Implements AllTermsList.

Definition at line 142 of file glass_alltermslist.cc.

References Assert, LOGCALL, p, pack_glass_postlist_key(), rare, RETURN, startswith(), term, and unpack_string_preserving_sort().

Member Data Documentation

◆ cursor

GlassCursor* GlassAllTermsList::cursor
private

A cursor which runs through the postlist table reading termnames from the keys.

Definition at line 45 of file glass_alltermslist.h.

◆ database

Xapian::Internal::intrusive_ptr<const GlassDatabase> GlassAllTermsList::database
private

Keep a reference to our database to stop it being deleted.

Definition at line 40 of file glass_alltermslist.h.

◆ prefix

std::string GlassAllTermsList::prefix
private

The prefix to restrict the terms to.

Definition at line 48 of file glass_alltermslist.h.

◆ termfreq

Xapian::doccount GlassAllTermsList::termfreq
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 55 of file glass_alltermslist.h.


The documentation for this class was generated from the following files: