xapian-core  1.4.25
Public Member Functions | Private Member Functions | Private Attributes | List of all members
GlassMetadataTermList Class Reference

#include <glass_metadata.h>

+ Inheritance diagram for GlassMetadataTermList:
+ Collaboration diagram for GlassMetadataTermList:

Public Member Functions

 GlassMetadataTermList (Xapian::Internal::intrusive_ptr< const Xapian::Database::Internal > database_, GlassCursor *cursor_, const std::string &prefix_)
 
 ~GlassMetadataTermList ()
 
std::string get_termname () const
 Returns the current termname. More...
 
Xapian::doccount get_termfreq () const
 Return the term frequency for the term at the current position. More...
 
TermListnext ()
 Advance to the next term in the list. More...
 
TermListskip_to (const std::string &key)
 Advance to the first key which is >= key. 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

 GlassMetadataTermList (const GlassMetadataTermList &)
 Copying is not allowed. More...
 
void operator= (const GlassMetadataTermList &)
 Assignment is not allowed. More...
 

Private Attributes

Xapian::Internal::intrusive_ptr< const Xapian::Database::Internaldatabase
 Keep a reference to our database to stop it being deleted. More...
 
GlassCursorcursor
 A cursor which runs through the postlist table reading metadata keys. More...
 
std::string prefix
 The prefix that all returned keys must have. 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...
 

Detailed Description

Definition at line 37 of file glass_metadata.h.

Constructor & Destructor Documentation

◆ GlassMetadataTermList() [1/2]

GlassMetadataTermList::GlassMetadataTermList ( const GlassMetadataTermList )
private

Copying is not allowed.

◆ GlassMetadataTermList() [2/2]

GlassMetadataTermList::GlassMetadataTermList ( Xapian::Internal::intrusive_ptr< const Xapian::Database::Internal database_,
GlassCursor cursor_,
const std::string &  prefix_ 
)

Definition at line 38 of file glass_metadata.cc.

References Assert, cursor, GlassCursor::find_entry_lt(), LOGCALL_CTOR, and prefix.

◆ ~GlassMetadataTermList()

GlassMetadataTermList::~GlassMetadataTermList ( )

Definition at line 50 of file glass_metadata.cc.

References cursor, and LOGCALL_DTOR.

Member Function Documentation

◆ at_end()

bool GlassMetadataTermList::at_end ( ) const
virtual

True if we're off the end of the list.

Implements AllTermsList.

Definition at line 105 of file glass_metadata.cc.

References GlassCursor::after_end(), cursor, LOGCALL, and RETURN.

Referenced by get_termname(), next(), and skip_to().

◆ get_termfreq()

Xapian::doccount GlassMetadataTermList::get_termfreq ( ) const
virtual

Return the term frequency for the term at the current position.

Not meaningful for a GlassMetadataTermList.

Implements AllTermsList.

Definition at line 67 of file glass_metadata.cc.

◆ get_termname()

string GlassMetadataTermList::get_termname ( ) const
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 57 of file glass_metadata.cc.

References Assert, at_end(), GlassCursor::current_key, cursor, LOGCALL, prefix, RETURN, and startswith().

◆ next()

TermList * GlassMetadataTermList::next ( )
virtual

Advance to the next term in the list.

Implements AllTermsList.

Definition at line 73 of file glass_metadata.cc.

References GlassCursor::after_end(), Assert, at_end(), GlassCursor::current_key, cursor, LOGCALL, GlassCursor::next(), prefix, RETURN, startswith(), and GlassCursor::to_end().

◆ operator=()

void GlassMetadataTermList::operator= ( const GlassMetadataTermList )
private

Assignment is not allowed.

◆ skip_to()

TermList * GlassMetadataTermList::skip_to ( const std::string &  key)
virtual

Advance to the first key which is >= key.

Implements AllTermsList.

Definition at line 88 of file glass_metadata.cc.

References GlassCursor::after_end(), Assert, at_end(), GlassCursor::current_key, cursor, GlassCursor::find_entry_ge(), LOGCALL, prefix, RETURN, startswith(), and GlassCursor::to_end().

Member Data Documentation

◆ cursor

GlassCursor* GlassMetadataTermList::cursor
private

A cursor which runs through the postlist table reading metadata keys.

Definition at line 49 of file glass_metadata.h.

Referenced by at_end(), get_termname(), GlassMetadataTermList(), next(), skip_to(), and ~GlassMetadataTermList().

◆ database

Xapian::Internal::intrusive_ptr<const Xapian::Database::Internal> GlassMetadataTermList::database
private

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

Definition at line 45 of file glass_metadata.h.

◆ prefix

std::string GlassMetadataTermList::prefix
private

The prefix that all returned keys must have.

Definition at line 53 of file glass_metadata.h.

Referenced by get_termname(), GlassMetadataTermList(), next(), and skip_to().


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