ddc
Public Member Functions | List of all members
CQueryOrOperation Class Reference

CQueryOrOperation implements the hit union or "or" operator: for example, "Mother||father". More...

#include <QueryNode.h>

Inheritance diagram for CQueryOrOperation:
Inheritance graph
[legend]
Collaboration diagram for CQueryOrOperation:
Collaboration graph
[legend]

Public Member Functions

 CQueryOrOperation ()
 
virtual ~CQueryOrOperation ()
 
void Evaluate (bool bSeparateHits=false)
 
- Public Member Functions inherited from CQueryBinaryOperationNode
 CQueryBinaryOperationNode ()
 
 CQueryBinaryOperationNode (CQueryNode *dtr1, CQueryNode *dtr2)
 
void Create (const CConcHolder *pHolder, CQueryNode *child1, CQueryNode *child2, string Operation)
 
virtual ~CQueryBinaryOperationNode ()
 
void pushHit (DWORD BreakNo)
 
void hits_and_positions_assign (const CQueryNode &NodeFrom)
 
void hits_and_positions_swap (CQueryNode &NodeFrom)
 hijack hit occurrences and positions from another node More...
 
void hits_and_positions_union (bool bSeparateHits=false)
 
void hits_and_positions_intersection (bool bSeparateHits=false)
 
void hits_and_positions_difference (bool bSeparateHits=false)
 
size_t GetNodeFrequencyByNodeIndex (size_t NodeIndex) const
 get occurrence count by query-node index; used by rank-sort operator. More...
 
- Public Member Functions inherited from CQueryNode
 CQueryNode (bool bUseNodeIndices=false, bool bUseMatchIds=false, const CConcHolder *holder=NULL)
 Constructor. More...
 
virtual ~CQueryNode ()
 Destructor. More...
 
virtual void EvaluateWithoutHits ()
 initial-stage query evaluation EvaluateWithoutHits is the first stage of the evaluation of one query. The main task it to build CQueryNode::m_Occurrences, which is written by chunks, sorted by the first item of a chunk. More...
 
void SetNegation (bool Value)
 set m_bNegated More...
 
bool GetNegation () const
 get m_bNegated More...
 
void AddOccurrence (const CQueryNode &FromNode, int FromOcc)
 insers a single occurrence FromNode.m_Occurrences[occ] More...
 
void AddOccurrences (const CQueryNode &FromNode, int start, int end)
 inserts occurrences [FromNode.m_Occurrences.begin()+start, FromNode.m_Occurrences.begin()+end) into m_Occurrences[] (and m_OccurrenceNodeIndices if appropriate) More...
 
void AddOccurrences2 (const CQueryNode &FromNode1, int start1, int end1, const CQueryNode &FromNode2, int start2, int end2)
 appends occurrences from both FromNode1 and FromNode2, maintaining sort-order and respecting both m_bUseNodeIndices and m_bUseMatchIds More...
 
void AddOccurrences3 (const CQueryNode &FromNode1, int start1, int end1, const CQueryNode &FromNode2, int start2, int end2, const CQueryNode &FromNode3, int start3, int end3)
 appends occurrences from FromNode1, FromNode2, and FromNode3 maintaining sort-order and respecting both m_bUseNodeIndices and m_bUseMatchIds More...
 
void ClearAndReserveOccurrences (int size)
 
void SwapOccurrences (CQueryNode &Node, bool swapChunkLengths=false)
 swaps m_Occurrences[], m_OccurrenceNodeIndices[], and m_OccurrenceMatchIds[] between caller object and Node More...
 
void ConvertOccurrencesToHits (bool bSeparateHits)
 convert occurrences to hits using m_pHolder->GetBreaks() More...
 
void ConvertOccurrencesToHitsForPatterns (bool bSeparateHits)
 convert occurrences to hits for pattern query construction (like "mother likes father") More...
 
void EnsureChunkOffsets ()
 ensure m_ChunkOffsets[] is populated More...
 
void SetHolder (const CConcHolder *pHolder)
 set m_pHolder dependent properties m_bUseNodeIndices, m_bUseMatchIds More...
 
virtual bool IsUniversalWildcard () const
 return true iff this is a universal wildcard query (*); default returns false More...
 
DWORD HitOccurrencesBegin (DWORD HitNo) const
 get the index of the first occurrence in m_Occurrences[] for hit number HitNo More...
 
DWORD HitOccurrencesEnd (DWORD HitNo) const
 get the index of the first occurrence in m_Occurrences[] after hit number HitNo More...
 
DWORD GetFirstOccurrenceInHit (DWORD HitNo, BYTE MatchId) const
 
DWORD GetLastOccurrenceInHit (DWORD HitNo, BYTE MatchId) const
 
DWORD GetMiddleOccurrenceInHit (DWORD HitNo, BYTE MatchId) const
 
DWORD BreakStride () const
 get average size of gap between breaks in m_Hits[]; returned value is always >= 1 More...
 

Additional Inherited Members

- Public Attributes inherited from CQueryBinaryOperationNode
CQueryNodem_pChild1
 the first operation member More...
 
CQueryNodem_pChild2
 the second operation member More...
 
- Public Attributes inherited from CQueryNode
bool m_bAtomic
 true if this node is a description of one token or a sequence of adjacent tokens More...
 
bool m_bNegated
 is the node negated? More...
 
string m_Source
 the string from which this node was created More...
 
vector< CTokenNom_Occurrences
 all occurrences of this node in the current subcorpus, which should be highlighted More...
 
bool m_bUseNodeIndices
 should DDC uses m_OccurrenceNodeIndices (m_OccurrenceNodeIndices is necessary only for #less_by_rank) More...
 
vector< BYTEm_OccurrenceNodeIndices
 query node indices for each occurrence (the origin for each occurrence) More...
 
bool m_bUseMatchIds
 should DDC use m_OccurrenceMatchIds to track match-ids? More...
 
vector< BYTEm_OccurrenceMatchIds
 match-ids for each occurrence in m_Occurrences (only if m_bUseMatchIds is true) More...
 
vector< CHitm_Hits
 all hits of this node in the current subcorpora More...
 
const CConcHolderm_pHolder
 a reference to the parent holder (moo: should be unused until evaluation time, but isn't!) More...
 
vector< DWORDm_ChunkLengths
 
vector< DWORDm_ChunkOffsets
 
vector< int > m_CacheIds
 ??? More...
 

Detailed Description

CQueryOrOperation implements the hit union or "or" operator: for example, "Mother||father".

Constructor & Destructor Documentation

◆ CQueryOrOperation()

CQueryOrOperation::CQueryOrOperation ( )

◆ ~CQueryOrOperation()

virtual CQueryOrOperation::~CQueryOrOperation ( )
inlinevirtual

References CQueryNode::Evaluate().

Here is the call graph for this function:

Member Function Documentation

◆ Evaluate()

void CQueryOrOperation::Evaluate ( bool  bSeparateHits = false)
virtual

evaluate query node with respect to m_pHolder , populating m_Hits[] attributes m_BreakNo, m_HighlightOcurrencesEnd . If bSeparateHits is false (default), hits in m_Hits[] will by aggregated by m_BreakNo (i.e. at most one instance of any m_BreakNo value in m_Hits[])

Reimplemented from CQueryNode.

References CQueryNode::SetNegation().

Here is the call graph for this function:

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