xapian-core  2.0.0
Public Member Functions | Private Attributes | List of all members
Xapian::Internal::AndContext Class Reference
+ Inheritance diagram for Xapian::Internal::AndContext:
+ Collaboration diagram for Xapian::Internal::AndContext:

Public Member Functions

 AndContext (QueryOptimiser *qopt_, size_t reserve)
 
bool add_postlist (PostList *pl, unique_ptr< EstimateOp > &&estimate, TermFreqs *termfreqs)
 
bool add_postlist (PostListAndEstimate p, TermFreqs *termfreqs)
 
void set_match_all ()
 
void add_pos_filter (Query::op op_, size_t n_subqs, Xapian::termcount window)
 
OrContextget_not_ctx (size_t reserve)
 
OrContextget_maybe_ctx (size_t reserve)
 
PostListAndEstimate postlist (TermFreqs *termfreqs)
 
- Public Member Functions inherited from Xapian::Internal::Context
 Context (QueryOptimiser *qopt_, size_t reserve)
 
 ~Context ()
 
Xapian::docid get_first () const
 
Xapian::docid get_last () const
 
void add_termfreqs (TermFreqs *termfreqs)
 
void add_postlist (PostList *pl, EstimateOp *estimate, TermFreqs *termfreqs)
 
void add_postlist (PostListAndEstimate p, TermFreqs *termfreqs)
 
bool empty () const
 
Xapian::termcount size () const
 
void shrink (size_t new_size)
 
void expand_wildcard (const QueryWildcard *query, double factor, TermFreqs *termfreqs)
 Expand a wildcard query. More...
 
void expand_edit_distance (const QueryEditDistance *query, double factor, TermFreqs *termfreqs)
 Expand an edit distance query. More...
 

Private Attributes

list< PosFilterpos_filters
 
unique_ptr< OrContextnot_ctx
 
unique_ptr< OrContextmaybe_ctx
 
bool match_all = false
 True if this AndContext has seen a no-op MatchAll. More...
 

Additional Inherited Members

- Protected Attributes inherited from Xapian::Internal::Context
QueryOptimiserqopt
 
vector< PostList * > pls
 
VecUniquePtr< EstimateOpestimates
 
vector< TermFreqstermfreqs_list
 
Xapian::docid first = Xapian::docid(-1)
 Lower bound on matching docid range. More...
 
Xapian::docid last = 0
 Upper bound on matching docid range. More...
 

Detailed Description

Definition at line 680 of file queryinternal.cc.

Constructor & Destructor Documentation

◆ AndContext()

Xapian::Internal::AndContext::AndContext ( QueryOptimiser qopt_,
size_t  reserve 
)
inline

Definition at line 695 of file queryinternal.cc.

Member Function Documentation

◆ add_pos_filter()

void Xapian::Internal::AndContext::add_pos_filter ( Query::op  op_,
size_t  n_subqs,
Xapian::termcount  window 
)

Definition at line 752 of file queryinternal.cc.

References Assert.

Referenced by Xapian::Internal::QueryWindowed::postlist_windowed().

◆ add_postlist() [1/2]

bool Xapian::Internal::AndContext::add_postlist ( PostList pl,
unique_ptr< EstimateOp > &&  estimate,
TermFreqs termfreqs 
)
inline

◆ add_postlist() [2/2]

bool Xapian::Internal::AndContext::add_postlist ( PostListAndEstimate  p,
TermFreqs termfreqs 
)
inline

Definition at line 724 of file queryinternal.cc.

References p.

◆ get_maybe_ctx()

OrContext& Xapian::Internal::AndContext::get_maybe_ctx ( size_t  reserve)
inline

◆ get_not_ctx()

OrContext& Xapian::Internal::AndContext::get_not_ctx ( size_t  reserve)
inline

◆ postlist()

PostListAndEstimate Xapian::Internal::AndContext::postlist ( TermFreqs termfreqs)

◆ set_match_all()

void Xapian::Internal::AndContext::set_match_all ( )
inline

Member Data Documentation

◆ match_all

bool Xapian::Internal::AndContext::match_all = false
private

True if this AndContext has seen a no-op MatchAll.

If it has and it ends up empty then the resulting postlist should be MatchAll not MatchNothing.

Definition at line 692 of file queryinternal.cc.

◆ maybe_ctx

unique_ptr<OrContext> Xapian::Internal::AndContext::maybe_ctx
private

Definition at line 685 of file queryinternal.cc.

◆ not_ctx

unique_ptr<OrContext> Xapian::Internal::AndContext::not_ctx
private

Definition at line 683 of file queryinternal.cc.

◆ pos_filters

list<PosFilter> Xapian::Internal::AndContext::pos_filters
private

Definition at line 681 of file queryinternal.cc.


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