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

class for alltermslists over several databases More...

#include <inmemory_alltermslist.h>

+ Inheritance diagram for InMemoryAllTermsList:
+ Collaboration diagram for InMemoryAllTermsList:

Public Member Functions

 InMemoryAllTermsList (const std::map< std::string, InMemoryTerm, std::less<>> *tmap_, Xapian::Internal::intrusive_ptr< const InMemoryDatabase > database_, std::string_view prefix_)
 Constructor. More...
 
Xapian::termcount get_approx_size () const
 Return approximate size of this termlist. More...
 
Xapian::doccount get_termfreq () const
 Return the term frequency for the term at the current position. More...
 
TermListskip_to (std::string_view tname)
 Skip forward to the specified term. More...
 
TermListnext ()
 next() causes the AllTermsList to move to the next term in the list. 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

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

Private Attributes

const std::map< std::string, InMemoryTerm, std::less<> > * tmap
 
std::map< std::string, InMemoryTerm, std::less<> >::const_iterator it
 
Xapian::Internal::intrusive_ptr< const InMemoryDatabasedatabase
 
std::string prefix
 

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

class for alltermslists over several databases

Definition at line 29 of file inmemory_alltermslist.h.

Constructor & Destructor Documentation

◆ InMemoryAllTermsList() [1/2]

InMemoryAllTermsList::InMemoryAllTermsList ( const InMemoryAllTermsList )
private

Copying is not allowed.

◆ InMemoryAllTermsList() [2/2]

InMemoryAllTermsList::InMemoryAllTermsList ( const std::map< std::string, InMemoryTerm, std::less<>> *  tmap_,
Xapian::Internal::intrusive_ptr< const InMemoryDatabase database_,
std::string_view  prefix_ 
)
inline

Constructor.

Definition at line 50 of file inmemory_alltermslist.h.

Member Function Documentation

◆ get_approx_size()

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

Return approximate size of this termlist.

Implements AllTermsList.

Definition at line 30 of file inmemory_alltermslist.cc.

◆ get_termfreq()

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

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

Implements AllTermsList.

Definition at line 39 of file inmemory_alltermslist.cc.

References Assert, and InMemoryDatabase::throw_database_closed().

◆ next()

TermList * InMemoryAllTermsList::next ( )
virtual

next() causes the AllTermsList to move to the next term in the list.

Implements AllTermsList.

Definition at line 80 of file inmemory_alltermslist.cc.

References Assert, startswith(), and InMemoryDatabase::throw_database_closed().

◆ operator=()

void InMemoryAllTermsList::operator= ( const InMemoryAllTermsList )
private

Assignment is not allowed.

◆ skip_to()

TermList * InMemoryAllTermsList::skip_to ( std::string_view  term)
virtual

Skip forward to the specified term.

If the specified term isn't in the list, position ourselves on the first term after term.

Returns
Normally returns NULL to indicate success. If the end has been reached, returns this; if another non-NULL pointer is returned then the caller should substitute the returned pointer for its pointer to us, and then delete us. This "pruning" can only happen for a non-leaf subclass of this class.

Implements AllTermsList.

Definition at line 49 of file inmemory_alltermslist.cc.

References Assert, startswith(), and InMemoryDatabase::throw_database_closed().

Member Data Documentation

◆ database

Xapian::Internal::intrusive_ptr<const InMemoryDatabase> InMemoryAllTermsList::database
private

Definition at line 44 of file inmemory_alltermslist.h.

◆ it

std::map<std::string, InMemoryTerm, std::less<> >::const_iterator InMemoryAllTermsList::it
private

Definition at line 42 of file inmemory_alltermslist.h.

◆ prefix

std::string InMemoryAllTermsList::prefix
private

Definition at line 46 of file inmemory_alltermslist.h.

◆ tmap

const std::map<std::string, InMemoryTerm, std::less<> >* InMemoryAllTermsList::tmap
private

Definition at line 40 of file inmemory_alltermslist.h.


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