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.

58 lines
1.2 KiB

  1. /*++
  2. Copyright (C) 1996-1999 Microsoft Corporation
  3. Module Name:
  4. OPERATOR.H
  5. History:
  6. --*/
  7. #pragma once
  8. typedef UINT Operators;
  9. class LTAPIENTRY CColumnOp
  10. {
  11. public:
  12. enum Operator
  13. {
  14. None = 0,
  15. EQ = 0x00000001,
  16. NOTEQ = 0x00000002,
  17. GT = 0x00000004,
  18. LT = 0x00000008,
  19. LTEQ = 0x00000010,
  20. GTEQ = 0x00000020,
  21. WITHIN = 0x00000040,
  22. BEYOND = 0x00000080,
  23. CONTAINS = 0x00000100,
  24. CONTAINSWORD = 0x00000200,
  25. STARTWITH = 0x00000400,
  26. ENDWITH = 0x00000800,
  27. };
  28. typedef CList<Operator, Operator> COperatorList;
  29. static CLString GetText(Operator);
  30. static void GetOperators(const Operators, COperatorList &);
  31. private:
  32. CColumnOp();
  33. };
  34. typedef CColumnOp CCO;
  35. const Operators NoOps = 0;
  36. const Operators NumericOps = CCO::EQ | CCO::NOTEQ | CCO::GT | CCO::LT;
  37. const Operators SimpStrOps = CCO::EQ | CCO::NOTEQ | CCO::STARTWITH | CCO::ENDWITH;
  38. const Operators CompStrOps = CCO::CONTAINS | CCO::CONTAINSWORD;
  39. const Operators StringOps = SimpStrOps | CompStrOps;
  40. const Operators StrListOps = CCO::EQ | CCO::NOTEQ;
  41. const Operators DateOps = CCO::LT | CCO::GT | CCO::EQ | CCO::NOTEQ | CCO::WITHIN | CCO::BEYOND;
  42. const Operators BooleanOps = CCO::EQ | CCO::NOTEQ;