Source code of Windows XP (NT5)
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.

67 lines
1.4 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1991 - 1992.
  5. //
  6. // File: ANDNCUR.HXX
  7. //
  8. // Contents: And Not cursor
  9. //
  10. // Classes: CAndNotCursor
  11. //
  12. // History: 22-Apr-92 AmyA Created.
  13. //
  14. //----------------------------------------------------------------------------
  15. #pragma once
  16. #ifdef DISPLAY_INCLUDES
  17. #pragma message( "#include <" __FILE__ ">..." )
  18. #endif
  19. #include <cursor.hxx>
  20. //+---------------------------------------------------------------------------
  21. //
  22. // Class: CAndNotCursor
  23. //
  24. // Purpose: Boolean And Not cursor (find documents that contain the first
  25. // key but not the second). Works with a single index.
  26. //
  27. // History: 22-Apr-92 AmyA Created.
  28. //
  29. //----------------------------------------------------------------------------
  30. class CAndNotCursor : INHERIT_VIRTUAL_UNWIND, public CCursor
  31. {
  32. DECLARE_UNWIND
  33. public:
  34. CAndNotCursor ( XCursor & curSource, XCursor & curFilter );
  35. virtual ~CAndNotCursor();
  36. WORKID WorkId();
  37. WORKID NextWorkId();
  38. ULONG HitCount();
  39. LONG Rank();
  40. LONG Hit();
  41. LONG NextHit();
  42. void RatioFinished ( ULONG& denom, ULONG& num );
  43. protected:
  44. void FindDisjunction();
  45. WORKID _wid;
  46. XCursor _curSource;
  47. XCursor _curFilter;
  48. };