Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1991 - 1992.
//
// File: PROXCUR.HXX
//
// Contents: Proximity cursor
//
// Classes: CProxCursor
//
// History: 14-Apr-92 AmyA Created.
//
//----------------------------------------------------------------------------
#pragma once
#ifdef DISPLAY_INCLUDES
#pragma message( "#include <" __FILE__ ">..." )
#endif
#include <cursor.hxx>
#include <curheap.hxx>
class COccCurStack;
#define PROX_MAX 50
extern unsigned ProxDefault[];
//+---------------------------------------------------------------------------
//
// Class: CProxCursor
//
// Purpose: Boolean And cursor (find documents that contain all of
// the specified keys). Works with a single index. Differs from
// CAndCursor because occurrence information is kept so that
// proximity of items can be determined.
//
// History: 14-Apr-92 AmyA Created.
// 28-Jun-94 SitaramR Added _logWidMax.
//
//----------------------------------------------------------------------------
class CProxCursor: public CCursor { public:
CProxCursor ( unsigned cCursor, COccCurStack& curStack, LONG maxDist = MAX_QUERY_RANK );
~CProxCursor() {} // default destructors take care of all the data
// structures...
WORKID WorkId();
WORKID NextWorkId();
ULONG HitCount();
LONG Rank();
LONG Hit(); LONG NextHit(); void RatioFinished ( ULONG& denom, ULONG& num );
private:
void FindConjunction();
LONG CalculateRank();
WORKID _wid;
COccHeapOfOccCur _occHeap;
unsigned _cCur;
LONG _maxDist;
LONG _rank; // keeps track of rank so that it will be
// accurate even if HitCount is called first.
ULONG _logWidMax;
};
|