68 lines
1.4 KiB
C++
68 lines
1.4 KiB
C++
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1991 - 1992.
|
|
//
|
|
// File: ANDNCUR.HXX
|
|
//
|
|
// Contents: And Not cursor
|
|
//
|
|
// Classes: CAndNotCursor
|
|
//
|
|
// History: 22-Apr-92 AmyA Created.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#ifdef DISPLAY_INCLUDES
|
|
#pragma message( "#include <" __FILE__ ">..." )
|
|
#endif
|
|
|
|
#include <cursor.hxx>
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Class: CAndNotCursor
|
|
//
|
|
// Purpose: Boolean And Not cursor (find documents that contain the first
|
|
// key but not the second). Works with a single index.
|
|
//
|
|
// History: 22-Apr-92 AmyA Created.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
class CAndNotCursor : INHERIT_VIRTUAL_UNWIND, public CCursor
|
|
{
|
|
DECLARE_UNWIND
|
|
public:
|
|
|
|
CAndNotCursor ( XCursor & curSource, XCursor & curFilter );
|
|
|
|
virtual ~CAndNotCursor();
|
|
|
|
WORKID WorkId();
|
|
|
|
WORKID NextWorkId();
|
|
|
|
ULONG HitCount();
|
|
|
|
LONG Rank();
|
|
|
|
LONG Hit();
|
|
LONG NextHit();
|
|
void RatioFinished ( ULONG& denom, ULONG& num );
|
|
|
|
protected:
|
|
|
|
void FindDisjunction();
|
|
|
|
WORKID _wid;
|
|
|
|
XCursor _curSource;
|
|
|
|
XCursor _curFilter;
|
|
|
|
};
|
|
|