78 lines
1.7 KiB
C++
78 lines
1.7 KiB
C++
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1991 - 1992.
|
|
//
|
|
// File: PHRCUR.HXX
|
|
//
|
|
// Contents: Phrase cursor
|
|
//
|
|
// Classes: CPhraseCursor
|
|
//
|
|
// History: 24-May-91 BartoszM Created.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "ocursor.hxx"
|
|
|
|
class COccCurStack;
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Class: CPhraseCursor
|
|
//
|
|
// Purpose: Check for phrases
|
|
//
|
|
// History: 24-May-91 BartoszM Created.
|
|
// 28-Feb-92 AmyA Added HitCount and _cOcc.
|
|
// 23-Jun-94 SitaramR Added Rank().
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
class CPhraseCursor: public COccCursor
|
|
{
|
|
public:
|
|
|
|
CPhraseCursor ( COccCurStack& curStack, XArray<OCCURRENCE>& aOcc );
|
|
~CPhraseCursor();
|
|
|
|
WORKID WorkId();
|
|
|
|
WORKID NextWorkId();
|
|
|
|
OCCURRENCE Occurrence() { return _occ; }
|
|
|
|
OCCURRENCE NextOccurrence();
|
|
|
|
ULONG OccurrenceCount();
|
|
|
|
OCCURRENCE MaxOccurrence();
|
|
|
|
ULONG HitCount();
|
|
|
|
LONG Hit();
|
|
LONG NextHit();
|
|
void RatioFinished ( ULONG& denom, ULONG& num );
|
|
|
|
LONG Rank();
|
|
|
|
private:
|
|
|
|
BOOL FindPhrase();
|
|
BOOL FindWidConjunction();
|
|
BOOL FindOccConjunction();
|
|
|
|
WORKID _wid;
|
|
OCCURRENCE _occ;
|
|
OCCURRENCE _maxOcc; // Max occurrence
|
|
|
|
unsigned _cCur;
|
|
COccCursor** _aCur;
|
|
OCCURRENCE* _aOcc;
|
|
ULONG _cOcc;
|
|
ULONG _logWidMax;
|
|
};
|
|
|