//+--------------------------------------------------------------------------- // // 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 //+--------------------------------------------------------------------------- // // 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; };