windows-nt/Source/XPSP1/NT/inetsrv/query/cursor/andncur.hxx
2020-09-26 16:20:57 +08:00

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