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.

79 lines
1.4 KiB

  1. /*++
  2. Copyright (c) 1990 Microsoft Corporation
  3. Module Name:
  4. sortcnt.hxx
  5. Abstract:
  6. This module contains the declaration for the SORTABLE_CONTAINER class.
  7. SORTABLE_CONTAINER is an abstract classe that is derived from the abstract
  8. class SEQUENTIAL_CONTAINER. It not only assumes a sequence but also
  9. assumes that the sequence can be changed by sorting it's contents. That
  10. is the contents have a relative order independent from how they were
  11. placed in the container.
  12. Author:
  13. David J. Gilman (davegi) 29-Oct-1990
  14. Environment:
  15. ULIB, User Mode
  16. --*/
  17. #if ! defined( _SORTABLE_CONTAINER_ )
  18. #define _SORTABLE_CONTAINER_
  19. #include "seqcnt.hxx"
  20. DECLARE_CLASS( SORTABLE_CONTAINER );
  21. class SORTABLE_CONTAINER : public SEQUENTIAL_CONTAINER {
  22. public:
  23. VIRTUAL
  24. ~SORTABLE_CONTAINER(
  25. );
  26. VIRTUAL
  27. BOOLEAN
  28. Put(
  29. IN OUT POBJECT Member
  30. ) PURE;
  31. VIRTUAL
  32. ULONG
  33. QueryMemberCount(
  34. ) CONST PURE;
  35. VIRTUAL
  36. PITERATOR
  37. QueryIterator(
  38. ) CONST PURE;
  39. VIRTUAL
  40. POBJECT
  41. Remove(
  42. IN OUT PITERATOR Position
  43. ) PURE;
  44. VIRTUAL
  45. BOOLEAN
  46. Sort(
  47. IN BOOLEAN Ascending DEFAULT TRUE
  48. ) PURE;
  49. protected:
  50. DECLARE_CONSTRUCTOR( SORTABLE_CONTAINER );
  51. };
  52. #endif // _SORTABLE_CONTAINER_